Advanced Shipment Tracking for WooCommerce - Version 2.6.8

Version Description

  • Added Mark as Partial Shipped checkbox in add tracking form if Partial Shipped status is enable
  • Updated functionality of Partial Shipped status settings
Download this release

Release Info

Developer zorem
Plugin Icon 128x128 Advanced Shipment Tracking for WooCommerce
Version 2.6.8
Comparing to
See all releases

Code changes from version 2.5 to 2.6.8

Files changed (78) hide show
  1. assets/css/admin.css +243 -164
  2. assets/css/checkbox-slider.css +0 -55
  3. assets/css/customizer-styles.css +21 -9
  4. assets/css/front.css +56 -2
  5. assets/css/icons/ast-icon.png +0 -0
  6. assets/css/icons/invalid-v3.png +0 -0
  7. assets/css/icons/partial-shipped-icon.png +0 -0
  8. assets/css/welcome.css +180 -0
  9. assets/js/admin.js +17 -11
  10. assets/js/amcharts/amcharts.js +403 -0
  11. assets/js/amcharts/light.js +1 -0
  12. assets/js/amcharts/serial.js +9 -0
  13. assets/js/customizer-scripts.js +53 -6
  14. assets/js/preview-scripts.js +27 -0
  15. assets/js/settings.js +23 -4
  16. assets/js/shipping_row.js +54 -17
  17. assets/js/welcome.js +41 -0
  18. assets/shipment-provider-img/7-eleven.png +0 -0
  19. assets/shipment-provider-img/apc-overnight.png +0 -0
  20. assets/shipment-provider-img/bring.png +0 -0
  21. assets/shipment-provider-img/correos-espana.png +0 -0
  22. assets/shipment-provider-img/courierpost.png +0 -0
  23. assets/shipment-provider-img/dhl-paket.png +0 -0
  24. assets/shipment-provider-img/dpd-uk.png +0 -0
  25. assets/shipment-provider-img/ethiopia-post.png +0 -0
  26. assets/shipment-provider-img/gls-spain.png +0 -0
  27. assets/shipment-provider-img/kerry-express.png +0 -0
  28. assets/shipment-provider-img/landmark-global.png +0 -0
  29. assets/shipment-provider-img/laos-post.png +0 -0
  30. assets/shipment-provider-img/loomis-express.png +0 -0
  31. assets/shipment-provider-img/naqel.png +0 -0
  32. assets/shipment-provider-img/new-zealand-post.png +0 -0
  33. assets/shipment-provider-img/poste-maroc.png +0 -0
  34. assets/shipment-provider-img/posten-norge.png +0 -0
  35. assets/shipment-provider-img/sagawa.png +0 -0
  36. assets/shipment-provider-img/sda.png +0 -0
  37. assets/shipment-provider-img/smsa-express.png +0 -0
  38. assets/shipment-provider-img/toll.png +0 -0
  39. includes/api/v1/class-wc-advanced-shipment-tracking-rest-api-controller.php +4 -96
  40. includes/class-wc-advanced-shipment-tracking-admin.php +928 -436
  41. includes/class-wc-advanced-shipment-tracking-api-call.php +13 -1
  42. includes/class-wc-advanced-shipment-tracking-front.php +378 -530
  43. includes/class-wc-advanced-shipment-tracking-install.php +1175 -850
  44. includes/class-wc-advanced-shipment-tracking.php +245 -68
  45. includes/class-wc-advanced-shipment-welcome.php +365 -0
  46. includes/customizer/class-wc-availableforpickup-email-customizer.php +30 -11
  47. includes/customizer/class-wc-delivered-email-customizer.php +40 -20
  48. includes/customizer/class-wc-email-customizer.php +61 -34
  49. includes/customizer/class-wc-failure-email-customizer.php +34 -11
  50. includes/customizer/class-wc-intransit-email-customizer.php +38 -17
  51. includes/customizer/class-wc-outfordelivery-email-customizer.php +39 -17
  52. includes/customizer/class-wc-partial-shipped-email-customizer.php +420 -0
  53. includes/customizer/class-wc-returntosender-email-customizer.php +33 -15
  54. includes/customizer/class-wc-tracking-info-customizer.php +107 -61
  55. includes/customizer/class-wc-tracking-page-customizer.php +0 -734
  56. includes/customizer/class-wcast-customizer.php +43 -5
  57. includes/customizer/delivered_preview.php +0 -8
  58. includes/customizer/preview.php +0 -10
  59. includes/customizer/preview/partial_shipped_preview.php +30 -0
  60. includes/email-manager.php +152 -109
  61. includes/emails/class-shipment-delivered-email.php +30 -20
  62. includes/emails/class-shipment-partial-shipped-email.php +184 -0
  63. includes/views/admin_options_bulk_upload.php +8 -3
  64. includes/views/admin_options_settings.php +35 -4
  65. includes/views/admin_options_shipping_provider.php +19 -14
  66. includes/views/admin_options_tools.php +34 -0
  67. includes/views/admin_options_trackship_integration.php +255 -222
  68. includes/views/html-tracking-info-design-preview.php +0 -73
  69. includes/views/zorem_admin_sidebar.php +45 -71
  70. includes/views/zorem_admin_ts_sidebar.php +32 -59
  71. lang/woo-advanced-shipment-tracking-bg_BG.mo +0 -0
  72. lang/woo-advanced-shipment-tracking-bg_BG.po +573 -1030
  73. lang/woo-advanced-shipment-tracking-da_DK.mo +0 -0
  74. lang/woo-advanced-shipment-tracking-da_DK.po +584 -1018
  75. lang/woo-advanced-shipment-tracking-de_DE.mo +0 -0
  76. lang/woo-advanced-shipment-tracking-de_DE.po +582 -1032
  77. lang/woo-advanced-shipment-tracking-el.mo +0 -0
  78. lang/woo-advanced-shipment-tracking-el.po +11 -231
assets/css/admin.css CHANGED
@@ -146,13 +146,12 @@ input.tab_input_1:checked + label{
146
  .shipping_add_field {
147
  width: 300px;
148
  }
149
- #adminmenuwrap {
150
- position: relative !important;
151
- }
152
  .ast_admin_content {
153
  width: 100%;
154
  vertical-align: top;
155
  border-top: 1px solid #ddd;
 
156
  }
157
  .zorem_admin_sidebar {
158
  width: 280px;
@@ -347,7 +346,7 @@ input.tab_input_1:checked + label{
347
  .ast_admin_content .form-table .wp-color-result.button {
348
  margin: 0 6px 0px 0;
349
  }
350
- #wc_ast_status_label_color {
351
  width: 80px;
352
  }
353
  .color_field input[type=text] {
@@ -508,8 +507,8 @@ td.column-columnname.url-column {
508
  border-color: red;
509
  box-shadow: none;
510
  font-size: 14px;
511
- line-height: 32px;
512
- height: 32px;
513
  }
514
  .wp-core-ui .btn_large {
515
  line-height: 36px;
@@ -556,6 +555,12 @@ td.column-columnname.url-column {
556
  text-shadow: none;
557
  box-shadow: inset 0 0 0 100px rgba(0,0,0,0.2);
558
  }
 
 
 
 
 
 
559
  .on_edit_show.custom_provider_name {
560
  margin: 10px 0;
561
  }
@@ -598,8 +603,12 @@ input#wc_ast_api_key {
598
  width: 260px;
599
  }
600
  span.api_connected {
601
- color: green;
602
- line-height: 33px;
 
 
 
 
603
  }
604
  span.api_connected .dashicons.dashicons-yes {
605
  font-size: 30px;
@@ -916,6 +925,60 @@ span.email_status_span i.enable {
916
  display: inline-block;
917
  vertical-align: middle;
918
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
919
  .ast-shipment-status .icon-delivered:before{
920
  content: ' ';
921
  background-image: url(icons/delivered-v4.png);
@@ -1149,7 +1212,7 @@ a.cancel_edit {
1149
  display:inline-block;
1150
  }
1151
  .woocommerce_page_woocommerce-advanced-shipment-tracking #wpcontent{
1152
- background: #fff;
1153
  padding-left: 0;
1154
  }
1155
  .woocommerce_page_woocommerce-advanced-shipment-tracking #wpbody-content{
@@ -1158,6 +1221,9 @@ a.cancel_edit {
1158
  .woocommerce_page_woocommerce-advanced-shipment-tracking #wpfooter{
1159
  background: rgb(245, 248, 250);
1160
  }
 
 
 
1161
  .trackship_logo{
1162
  width: 200px;
1163
  height: auto;
@@ -1168,95 +1234,7 @@ a.cancel_edit {
1168
  .trackship_section .heading{
1169
  font-size: 25px;
1170
  }
1171
- .trackship_button{
1172
- background-color: #83bd31;
1173
- position: relative;
1174
- display: inline-block;
1175
- text-transform: uppercase;
1176
- font-size: 1.5em;
1177
- letter-spacing: .03em;
1178
- -ms-touch-action: none;
1179
- touch-action: none;
1180
- cursor: pointer;
1181
- font-weight: bolder;
1182
- text-align: center;
1183
- color: currentColor;
1184
- text-decoration: none;
1185
- border: 1px solid transparent;
1186
- vertical-align: middle;
1187
- border-radius: 0;
1188
- margin-top: 0;
1189
- margin-right: 1em;
1190
- text-shadow: none;
1191
- padding: 15px 30px;
1192
- max-width: 100%;
1193
- text-rendering: optimizeLegibility;
1194
- box-sizing: border-box;
1195
- color: #fff;
1196
- border-radius: 10px;
1197
- }
1198
- .trackship_button:hover{
1199
- color: #fff;
1200
- }
1201
- .section-title {
1202
- position: relative;
1203
- -js-display: flex;
1204
- display: -ms-flexbox;
1205
- display: flex;
1206
- -ms-flex-flow: row wrap;
1207
- flex-flow: row wrap;
1208
- -ms-flex-align: center;
1209
- align-items: center;
1210
- -ms-flex-pack: justify;
1211
- justify-content: space-between;
1212
- width: 100%;
1213
- font-size: 20px;
1214
- }
1215
- .section-title b {
1216
- display: block;
1217
- -ms-flex: 1;
1218
- flex: 1;
1219
- height: 2px;
1220
- opacity: .1;
1221
- background-color: currentColor;
1222
- }
1223
- .section-title-center span{
1224
- text-align: center;
1225
- margin: 0 15px;
1226
- text-transform: uppercase;
1227
- }
1228
- .col-4{
1229
- max-width: 33.33%;
1230
- -ms-flex-preferred-size: 33.33%;
1231
- flex-basis: 33.33%;
1232
- position: relative;
1233
- margin: 0;
1234
- padding: 0 15px 30px;
1235
- box-sizing:border-box;
1236
- }
1237
- .row-box-shadow-1{
1238
- width: 100%;
1239
- -js-display: flex;
1240
- display: -ms-flexbox;
1241
- display: flex;
1242
- -ms-flex-flow: row wrap;
1243
- flex-flow: row wrap;
1244
- }
1245
- .row-box-shadow-1 .col-inner{
1246
- padding: 20px 20px 20px 20px;
1247
- background: #edf2f7;
1248
- box-shadow: 0 1px 3px -2px rgba(0,0,0,0.12), 0 1px 2px rgba(237, 242, 247, 0.24);
1249
- transition: transform .3s, box-shadow .3s, background-color .3s, color .3s, opacity .3s;
1250
- height:100%;
1251
- box-sizing:border-box;
1252
- }
1253
- .featured-box h4{
1254
- color: #071d57;
1255
- font-size: 17px;
1256
- line-height: 23px;
1257
- margin-top: 10px;
1258
- margin-bottom: 10px;
1259
- }
1260
  .multiple_checkbox .mdl-switch.is-upgraded{
1261
  padding-left: 42px;
1262
  margin-bottom: 6px;
@@ -1857,65 +1835,7 @@ p.tracking-preview-desc {
1857
  margin-bottom: 20px;
1858
  }
1859
 
1860
- .notice.ast-admin-notice {
1861
- padding: 20px;
1862
- background: rgb(245, 248, 250);
1863
- border: 1px solid #eee;
1864
- border-left: 4px solid #83bd31 !important;
1865
- }
1866
- .rtl .notice.ast-admin-notice {
1867
- border-right-color: #83bd31 !important;
1868
- }
1869
- .notice.ast-admin-notice .ast-admin-notice-inner {
1870
- display: table;
1871
- width: 100%;
1872
- }
1873
- .notice.ast-admin-notice .ast-admin-notice-inner .ast-admin-notice-icon,
1874
- .notice.ast-admin-notice .ast-admin-notice-inner .ast-admin-notice-content,
1875
- .notice.ast-admin-notice .ast-admin-notice-inner .trackship-install-now {
1876
- display: table-cell;
1877
- vertical-align: middle;
1878
- }
1879
- .notice.ast-admin-notice .ast-admin-notice-icon {
1880
- color: #83bd31;
1881
- }
1882
- .notice.ast-admin-notice .ast-admin-notice-icon .notice-logo{
1883
- width: 200px;
1884
- }
1885
- .notice.ast-admin-notice .ast-admin-notice-content {
1886
- padding: 0 20px;
1887
- }
1888
- .notice.ast-admin-notice p {
1889
- padding: 0;
1890
- margin: 0;
1891
- }
1892
- .notice.ast-admin-notice h3 {
1893
- margin: 0 0 5px;
1894
- color: #061c58;
1895
- }
1896
- .notice.ast-admin-notice .trackship-install-now {
1897
- text-align: center;
1898
- }
1899
- .notice.ast-admin-notice .trackship-install-now .hello-elementor-install-button {
1900
- padding: 5px 30px;
1901
- height: auto;
1902
- line-height: 20px;
1903
- text-transform: capitalize;
1904
- }
1905
- .notice.ast-admin-notice .trackship-install-now .hello-elementor-install-button i {
1906
- padding-right: 5px;
1907
- }
1908
- .rtl .notice.ast-admin-notice .trackship-install-now .hello-elementor-install-button i {
1909
- padding-right: 0;
1910
- padding-left: 5px;
1911
- }
1912
- .notice.ast-admin-notice .trackship-install-now .hello-elementor-install-button:active {
1913
- transform: translateY(1px);
1914
- }
1915
- .ast-admin-notice .notice-dismiss:before{
1916
- color: #061c58;
1917
- font: normal 20px/20px dashicons;
1918
- }
1919
  .nav_doc_section {
1920
  float: right;
1921
  padding: 15px 0 15px;
@@ -2045,13 +1965,51 @@ p.tracking-preview-desc {
2045
  flex-flow: row wrap;
2046
  }
2047
  .ast-dashborad-widget.row .large-6 {
2048
- max-width: 47%;
2049
- -ms-flex-preferred-size: 47%;
2050
- flex-basis: 47%;
2051
  position: relative;
2052
- border: 1px dashed #ddd;
2053
- padding: 5px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2054
  }
 
 
2055
  .bulk_shipment_status_success{
2056
  color:#83bd31;
2057
  margin-top:10px;
@@ -2064,16 +2022,132 @@ p.tracking-preview-desc {
2064
  padding: 15px;
2065
  font-size: 12px;
2066
  }
 
 
 
 
 
 
2067
  .trackship_section{
2068
  background-image: url(../images/ts_bg.png);
2069
  min-height: 100vh;
2070
  }
2071
- @media screen and (min-width: 1215px) and (max-width: 1465px) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2072
  .provider {
2073
  width: 20%;
2074
  }
2075
  }
2076
- @media screen and (min-width: 768px) and (max-width: 1214px) {
2077
  .provider{
2078
  width: 25%;
2079
  }
@@ -2103,6 +2177,11 @@ p.tracking-preview-desc {
2103
  .provider_top {
2104
  margin-bottom: 10px;
2105
  }
 
 
 
 
 
2106
  }
2107
  @media screen and (max-width: 500px) {
2108
  .provider{
146
  .shipping_add_field {
147
  width: 300px;
148
  }
149
+
 
 
150
  .ast_admin_content {
151
  width: 100%;
152
  vertical-align: top;
153
  border-top: 1px solid #ddd;
154
+ background: #fff;
155
  }
156
  .zorem_admin_sidebar {
157
  width: 280px;
346
  .ast_admin_content .form-table .wp-color-result.button {
347
  margin: 0 6px 0px 0;
348
  }
349
+ #wc_ast_status_label_color,#wc_ast_status_partial_shipped_label_color {
350
  width: 80px;
351
  }
352
  .color_field input[type=text] {
507
  border-color: red;
508
  box-shadow: none;
509
  font-size: 14px;
510
+ line-height: 30px;
511
+ height: 35px;
512
  }
513
  .wp-core-ui .btn_large {
514
  line-height: 36px;
555
  text-shadow: none;
556
  box-shadow: inset 0 0 0 100px rgba(0,0,0,0.2);
557
  }
558
+ .shipment_tracking_admin_settings.wp-core-ui .button-primary:disabled{
559
+ color: #fff!important;
560
+ background: #ccc!important;
561
+ border-color: #eee!important;
562
+ cursor: not-allowed;
563
+ }
564
  .on_edit_show.custom_provider_name {
565
  margin: 10px 0;
566
  }
603
  width: 260px;
604
  }
605
  span.api_connected {
606
+ color: #fff;
607
+ line-height: 33px;
608
+ background: #83bd31;
609
+ padding: 12px 26px;
610
+ font-size: 15px;
611
+ border-radius: 5px;
612
  }
613
  span.api_connected .dashicons.dashicons-yes {
614
  font-size: 30px;
925
  display: inline-block;
926
  vertical-align: middle;
927
  }
928
+ .wcast-shipment-status-icon .icon-INVALID_TRACKING_NUM:before{
929
+ content: ' ';
930
+ background-image: url(icons/invalid-v3.png);
931
+ width: 20px;
932
+ height: 20px;
933
+ background-size: cover;
934
+ display: inline-block;
935
+ vertical-align: middle;
936
+ }
937
+ .wcast-shipment-status-icon .icon-wrong_shipping_provider:before{
938
+ content: ' ';
939
+ background-image: url(icons/invalid-v3.png);
940
+ width: 20px;
941
+ height: 20px;
942
+ background-size: cover;
943
+ display: inline-block;
944
+ vertical-align: middle;
945
+ }
946
+ .wcast-shipment-status-icon .icon-default:before{
947
+ content: ' ';
948
+ background-image: url(icons/invalid-v3.png);
949
+ width: 20px;
950
+ height: 20px;
951
+ background-size: cover;
952
+ display: inline-block;
953
+ vertical-align: middle;
954
+ }
955
+ .ast-shipment-status .icon-default:before{
956
+ content: ' ';
957
+ background-image: url(icons/invalid-v3.png);
958
+ width: 20px;
959
+ height: 20px;
960
+ background-size: cover;
961
+ display: inline-block;
962
+ vertical-align: middle;
963
+ }
964
+ .ast-shipment-status .icon-INVALID_TRACKING_NUM:before{
965
+ content: ' ';
966
+ background-image: url(icons/invalid-v3.png);
967
+ width: 20px;
968
+ height: 20px;
969
+ background-size: cover;
970
+ display: inline-block;
971
+ vertical-align: middle;
972
+ }
973
+ .ast-shipment-status .icon-wrong_shipping_provider:before{
974
+ content: ' ';
975
+ background-image: url(icons/invalid-v3.png);
976
+ width: 20px;
977
+ height: 20px;
978
+ background-size: cover;
979
+ display: inline-block;
980
+ vertical-align: middle;
981
+ }
982
  .ast-shipment-status .icon-delivered:before{
983
  content: ' ';
984
  background-image: url(icons/delivered-v4.png);
1212
  display:inline-block;
1213
  }
1214
  .woocommerce_page_woocommerce-advanced-shipment-tracking #wpcontent{
1215
+ background: rgb(245, 248, 250);
1216
  padding-left: 0;
1217
  }
1218
  .woocommerce_page_woocommerce-advanced-shipment-tracking #wpbody-content{
1221
  .woocommerce_page_woocommerce-advanced-shipment-tracking #wpfooter{
1222
  background: rgb(245, 248, 250);
1223
  }
1224
+ .woocommerce_page_woocommerce-advanced-shipment-tracking .white-bg{
1225
+ background: #fff;
1226
+ }
1227
  .trackship_logo{
1228
  width: 200px;
1229
  height: auto;
1234
  .trackship_section .heading{
1235
  font-size: 25px;
1236
  }
1237
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1238
  .multiple_checkbox .mdl-switch.is-upgraded{
1239
  padding-left: 42px;
1240
  margin-bottom: 6px;
1835
  margin-bottom: 20px;
1836
  }
1837
 
1838
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1839
  .nav_doc_section {
1840
  float: right;
1841
  padding: 15px 0 15px;
1965
  flex-flow: row wrap;
1966
  }
1967
  .ast-dashborad-widget.row .large-6 {
1968
+ max-width: 50%;
1969
+ -ms-flex-preferred-size: 50%;
1970
+ flex-basis: 50%;
1971
  position: relative;
1972
+ border-right: 1px solid #ececec;
1973
+ border-bottom:1px solid #ececec;
1974
+ padding: 8px 12px;
1975
+ box-sizing: border-box;
1976
+ }
1977
+ #trackship_dashboard_widget .widget_footer{
1978
+ padding: 8px 12px;
1979
+ }
1980
+ input.widget_tab_input {
1981
+ display: none;
1982
+ }
1983
+ input.widget_tab_input:checked + label {
1984
+ border-bottom-color: #74C2E1;
1985
+ color: #74C2E1;
1986
+ }
1987
+ label.widget_tab_label{
1988
+ text-decoration: none;
1989
+ padding: 17px 0 15px;
1990
+ border-bottom: 2px solid #fff;
1991
+ font-size: 14px;
1992
+ color: #393f4c;
1993
+ display: inline-block;
1994
+ margin-right: 12px;
1995
+ line-height: 1;
1996
+ outline: none;
1997
+ }
1998
+ label.widget_tab_label.first_label{
1999
+ margin-left: 12px;
2000
+ }
2001
+ #tab_s_providers:checked ~ #content_s_providers,#tab_s_status:checked ~ #content_s_status,#tab_t_issues:checked ~ #content_t_issues{
2002
+ display: block;
2003
+ }
2004
+
2005
+ section.widget_tab_section {
2006
+ display: none;
2007
+ border-top:1px solid #eee;
2008
+ height: 301px;
2009
+ overflow-y: auto;
2010
  }
2011
+ /**** -------- ****/
2012
+
2013
  .bulk_shipment_status_success{
2014
  color:#83bd31;
2015
  margin-top:10px;
2022
  padding: 15px;
2023
  font-size: 12px;
2024
  }
2025
+ .woocommerce_page_woocommerce-advanced-shipment-tracking #tiptip_holder.tip_top #tiptip_arrow_inner{
2026
+ border-top-color: #005B9A;
2027
+ }
2028
+ .woocommerce_page_woocommerce-advanced-shipment-tracking #tiptip_holder.tip_bottom #tiptip_arrow_inner{
2029
+ border-bottom-color: #005B9A;
2030
+ }
2031
  .trackship_section{
2032
  background-image: url(../images/ts_bg.png);
2033
  min-height: 100vh;
2034
  }
2035
+ .doc_link{
2036
+ margin-right: 25px;
2037
+ }
2038
+ #trackship_dashboard_widget .inside h3{
2039
+ font-weight:600;
2040
+ }
2041
+ #trackship_dashboard_widget .inside{
2042
+ padding: 0;
2043
+ margin: 0;
2044
+ }
2045
+
2046
+ /*** RTL CSS ***/
2047
+ .rtl.shipment_tracking_admin_settings #wpcontent {
2048
+ padding-right: 0;
2049
+ background: rgb(245, 248, 250);
2050
+ }
2051
+ .rtl.shipment_tracking_admin_settings .white-bg {
2052
+ background: #fff;
2053
+ }
2054
+ .rtl .plugin-logo {
2055
+ padding: 15px 30px 15px 0px;
2056
+ }
2057
+ .rtl .nav_doc_section {
2058
+ float: left;
2059
+ margin-left: 30px;
2060
+ }
2061
+ .rtl .doc_link{
2062
+ margin-left: 25px;
2063
+ margin-right: 0;
2064
+ }
2065
+ .rtl .nav_doc_section a.open_video_popup:after{
2066
+ margin-right: 5px;
2067
+ margin-left: 0;
2068
+ }
2069
+ .rtl label.tab_label.first_label{
2070
+ margin-right: 30px;
2071
+ margin-left: 0;
2072
+ }
2073
+ .rtl .zorem_admin_sidebar{
2074
+ padding: 25px 30px 25px 0px;
2075
+ }
2076
+ .rtl .zorem-sidebar__section li a.plugin_url{
2077
+ margin-right: 10px;
2078
+ margin-left: 0;
2079
+ }
2080
+ .rtl .multiple_checkbox .mdl-switch.is-upgraded{
2081
+ padding-right: 42px;
2082
+ margin-left: 0;
2083
+ }
2084
+ .rtl .mdl-switch__track{
2085
+ right: 0;
2086
+ left: auto;
2087
+ }
2088
+ .rtl .mdl-switch__thumb{
2089
+ right: 0;
2090
+ left: auto;
2091
+ }
2092
+ .rtl .mdl-switch__ripple-container{
2093
+ right: -14px;
2094
+ left: auto;
2095
+ }
2096
+ .rtl .mdl-switch.is-checked .mdl-switch__ripple-container {
2097
+ right: 2px;
2098
+ left: auto;
2099
+ }
2100
+ .rtl .search_section{
2101
+ float:left;
2102
+ }
2103
+ .rtl #search_provider{
2104
+ padding-left:0;
2105
+ padding-right: 30px;
2106
+ }
2107
+ .rtl .provider_settings{
2108
+ float:left;
2109
+ }
2110
+ .rtl .dropdown_menu{
2111
+ padding: 0 5px 10px;
2112
+ }
2113
+ .rtl .provider_settings{
2114
+ margin-left:0;
2115
+ margin-right: 5px;
2116
+ }
2117
+ .rtl .right-div{
2118
+ margin-right: 15px;
2119
+ }
2120
+ .rtl .provider_inner{
2121
+ min-height: 110px;
2122
+ }
2123
+ .rtl .dropdown-content{
2124
+ left: 0;
2125
+ right:auto;
2126
+ top: 35px;
2127
+ }
2128
+ .rtl .dropdown-content:before{
2129
+ left: 8px;
2130
+ right:auto;
2131
+ }
2132
+ .rtl .email_status_span{
2133
+ float: left;
2134
+ }
2135
+ .rtl .ac-container .headig_label{
2136
+ padding: 15px 60px 15px 20px;
2137
+ text-align: right;
2138
+ }
2139
+ .rtl .email-icon{
2140
+ right: 15px;
2141
+ left: auto;
2142
+ }
2143
+
2144
+
2145
+ @media screen and (min-width: 1270px) and (max-width: 1465px) {
2146
  .provider {
2147
  width: 20%;
2148
  }
2149
  }
2150
+ @media screen and (min-width: 768px) and (max-width: 1269px) {
2151
  .provider{
2152
  width: 25%;
2153
  }
2177
  .provider_top {
2178
  margin-bottom: 10px;
2179
  }
2180
+ .nav_doc_section{
2181
+ float: none;
2182
+ padding: 15px 0 15px;
2183
+ margin-left: 30px;
2184
+ }
2185
  }
2186
  @media screen and (max-width: 500px) {
2187
  .provider{
assets/css/checkbox-slider.css DELETED
@@ -1,55 +0,0 @@
1
- /*
2
- * checkbox slider
3
- * version 1.0
4
- */
5
- .switch {
6
- position: relative;
7
- display: inline-block;
8
- width: 50px;
9
- height: 25px;
10
- }
11
- .switch input {
12
- opacity: 0;
13
- width: 0;
14
- height: 0;
15
- display: none;
16
- }
17
- .slider {
18
- position: absolute;
19
- cursor: pointer;
20
- top: 0;
21
- left: 0;
22
- right: 0;
23
- bottom: 0;
24
- background-color: #ccc;
25
- -webkit-transition: .4s;
26
- transition: .4s;
27
- }
28
- .slider:before {
29
- position: absolute;
30
- content: "";
31
- height: 17px;
32
- width: 17px;
33
- left: 4px;
34
- bottom: 4px;
35
- background-color: white;
36
- -webkit-transition: .4s;
37
- transition: .4s;
38
- }
39
- input:checked + .slider {
40
- background-color: #65baaf;
41
- }
42
- input:focus + .slider {
43
- box-shadow: 0 0 1px #2196F3;
44
- }
45
- input:checked + .slider:before {
46
- -webkit-transform: translateX(26px);
47
- -ms-transform: translateX(26px);
48
- transform: translateX(26px);
49
- }
50
- .slider.round {
51
- border-radius: 34px;
52
- }
53
- .slider.round:before {
54
- border-radius: 50%;
55
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/customizer-styles.css CHANGED
@@ -1,13 +1,22 @@
1
  #accordion-section-default_controls_section>h3:before{
2
- font-family: 'Dashicons';
3
- font-size: 20px;
4
- font-weight: thin !important;
5
- position: relative;
6
- line-height: 0;
 
7
  vertical-align: middle;
8
- opacity: .6;
9
- top: -1px;
10
- content: "\f230";
 
 
 
 
 
 
 
 
11
  }
12
  #accordion-panel-wcast_emails_panel>h3:before{
13
  font-family: 'Dashicons';
@@ -33,7 +42,7 @@
33
  }
34
  #accordion-section-customer_delivered_email>h3:before{
35
  content: ' ';
36
- background-image: url(icons/delivered-v4.png);
37
  width: 20px;
38
  height: 20px;
39
  background-size: cover;
@@ -164,6 +173,9 @@
164
  margin-top: 0px;
165
  margin-bottom: 0;
166
  }
 
 
 
167
  .customize-control-description{
168
  font-size: 12px;
169
  }
1
  #accordion-section-default_controls_section>h3:before{
2
+ content: ' ';
3
+ background-image: url(icons/ast-icon.png);
4
+ width: 20px;
5
+ height: 20px;
6
+ background-size: contain;
7
+ display: inline-block;
8
  vertical-align: middle;
9
+ background-repeat: no-repeat;
10
+ }
11
+ #accordion-section-customer_partial_shipped_email>h3:before{
12
+ content: ' ';
13
+ background-image: url(icons/partial-shipped-icon.png);
14
+ width: 20px;
15
+ height: 20px;
16
+ background-size: contain;
17
+ display: inline-block;
18
+ vertical-align: middle;
19
+ background-repeat: no-repeat;
20
  }
21
  #accordion-panel-wcast_emails_panel>h3:before{
22
  font-family: 'Dashicons';
42
  }
43
  #accordion-section-customer_delivered_email>h3:before{
44
  content: ' ';
45
+ background-image: url(icons/Delivered-o.png);
46
  width: 20px;
47
  height: 20px;
48
  background-size: cover;
173
  margin-top: 0px;
174
  margin-bottom: 0;
175
  }
176
+ #customize-controls li.customize-control h3.control_heading{
177
+ margin-bottom:14px;
178
+ }
179
  .customize-control-description{
180
  font-size: 12px;
181
  }
assets/css/front.css CHANGED
@@ -297,7 +297,7 @@
297
  margin: 20px auto 20px;
298
  padding: 30px;
299
  border: 1px solid #f9f9f9;
300
- width: 800px;
301
  }
302
  .trackship_branding {
303
  text-align: center;
@@ -324,7 +324,7 @@ display: contents;
324
  border-bottom: 0;
325
  }
326
  .tracking-table tbody tr td{
327
- padding: .5em .5em .5em 0;
328
  border-bottom: 1px solid #eee
329
  }
330
  .tracking-header {
@@ -367,6 +367,44 @@ table.tracking-table{
367
  background-repeat: no-repeat;
368
  background-position: center center;
369
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
370
  @media screen and (max-width: 767px) {
371
  .col.tracking-detail{
372
  padding: 20px 15px 0;
@@ -389,6 +427,10 @@ table.tracking-table{
389
  background-repeat: no-repeat;
390
  background-position: center center;
391
  }
 
 
 
 
392
  }
393
  @media screen and (max-width: 550px) {
394
  .mobile-section{
@@ -467,4 +509,16 @@ table.tracking-table{
467
  background-repeat: no-repeat;
468
  background-position: center center;
469
  }
 
 
 
 
 
 
 
 
 
 
 
 
470
  }
297
  margin: 20px auto 20px;
298
  padding: 30px;
299
  border: 1px solid #f9f9f9;
300
+ max-width: 800px;
301
  }
302
  .trackship_branding {
303
  text-align: center;
324
  border-bottom: 0;
325
  }
326
  .tracking-table tbody tr td{
327
+ padding: .5em .5em .5em .5em;
328
  border-bottom: 1px solid #eee
329
  }
330
  .tracking-header {
367
  background-repeat: no-repeat;
368
  background-position: center center;
369
  }
370
+ .col.tracking-detail{
371
+ text-align: left;
372
+ }
373
+ .track-order-section{
374
+ text-align: left;
375
+ }
376
+ /*** RTL CSS ***/
377
+
378
+ .rtl .track-order-section{
379
+ text-align: right;
380
+ }
381
+ .rtl .col.tracking-detail{
382
+ text-align: right;
383
+ }
384
+ .rtl .tracking-detail .text-right{
385
+ text-align: left;
386
+ }
387
+ .rtl .tracker-progress-bar-with-dots .state-0{
388
+ right: 0;
389
+ }
390
+ .rtl .tracker-progress-bar-with-dots .state-1{
391
+ right: 33%;
392
+ }
393
+ .rtl .tracker-progress-bar-with-dots .state-2{
394
+ right: 66%;
395
+ }
396
+ .rtl .tracker-progress-bar-with-dots .state-3{
397
+ right: 95%;
398
+ }
399
+ .rtl .tracker-progress-bar-with-dots .progress{
400
+ margin-right: 15px;
401
+ margin-left: 0;
402
+ }
403
+ .rtl .status-section{
404
+ margin: 0px 0 0 35px;
405
+ }
406
+ /*** END OF RTL CSS ***/
407
+
408
  @media screen and (max-width: 767px) {
409
  .col.tracking-detail{
410
  padding: 20px 15px 0;
427
  background-repeat: no-repeat;
428
  background-position: center center;
429
  }
430
+ /*** RTL CSS ***/
431
+ .rtl .tracking-detail .text-right {
432
+ text-align: right;
433
+ }
434
  }
435
  @media screen and (max-width: 550px) {
436
  .mobile-section{
509
  background-repeat: no-repeat;
510
  background-position: center center;
511
  }
512
+ .rtl .tracker-progress-bar-with-dots .state-1{
513
+ right: 0;
514
+ }
515
+ .rtl .tracker-progress-bar-with-dots .state-2{
516
+ right: 0;
517
+ }
518
+ .rtl .tracker-progress-bar-with-dots .state-3{
519
+ right: 0;
520
+ }
521
+ .rtl .mobile-section .tracker-progress-bar.tracker-progress-bar-with-dots:before{
522
+ right: 27px;
523
+ }
524
  }
assets/css/icons/ast-icon.png ADDED
Binary file
assets/css/icons/invalid-v3.png ADDED
Binary file
assets/css/icons/partial-shipped-icon.png ADDED
Binary file
assets/css/welcome.css ADDED
@@ -0,0 +1,180 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .dashboard_page_ast-getting-started #wpcontent{
2
+ padding-left: 0px;
3
+ }
4
+ .dashboard_page_ast-getting-started #wpbody{
5
+ background: rgb(245, 248, 250);
6
+ }
7
+ .ast-admin-welcome-page {
8
+ position: relative;
9
+ -webkit-box-sizing: border-box;
10
+ box-sizing: border-box;
11
+ }
12
+ .ast-onboarding-header {
13
+ text-align: center;
14
+ }
15
+ .ast-header-navigation {
16
+ border-top: 4px solid #5f6197;
17
+ padding: 0 20px;
18
+ position: relative;
19
+ text-align: right;
20
+ }
21
+ @media (min-width:782px) {
22
+ .ast-header-navigation {
23
+ padding: 0 125px
24
+ }
25
+ }
26
+ .ast-exit-button {
27
+ background: #5f6197;
28
+ border-radius: 0 0 5px 5px;
29
+ color: #d7d7e5;
30
+ display: inline-block;
31
+ font-size: 14px;
32
+ line-height: 1;
33
+ padding: 9px 20px 12px;
34
+ text-decoration: none;
35
+ transition: color .1s ease;
36
+ -moz-transition: color .1s ease;
37
+ -ms-transition: color .1s ease;
38
+ -o-transition: color .1s ease;
39
+ -webkit-transition: color .1s ease;
40
+ }
41
+ .ast-onboarding-header h1 {
42
+ margin: 10px 0;
43
+ padding: 0 20px;
44
+ }
45
+ .ast-logo {
46
+ display: inline-block;
47
+ width: 400px;
48
+ max-width: 100%;
49
+ }
50
+
51
+ .ast-bg-img {
52
+ width: 100%;
53
+ padding-top: 66%;
54
+ position: relative;
55
+ }
56
+
57
+ .ast-logo .ast-bg-img {
58
+ padding-top: 0;
59
+ }
60
+
61
+ .ast-onboarding-wizard-container {
62
+ margin: 0 auto;
63
+ width: 750px;
64
+ }
65
+
66
+ .ast-onboarding-wizard-steps {
67
+ -webkit-box-align: center;
68
+ -ms-flex-align: center;
69
+ align-items: center;
70
+ display: -webkit-box;
71
+ display: -ms-flexbox;
72
+ display: flex;
73
+ margin-top: 15px;
74
+ }
75
+
76
+ .ast-onboarding-wizard-step {
77
+ border: 2px solid #005B9A;
78
+ border-radius: 50%;
79
+ -ms-flex-negative: 0;
80
+ flex-shrink: 0;
81
+ height: 16px;
82
+ width: 16px;
83
+ }
84
+
85
+ .ast-onboarding-wizard-step.ast-onboarding-wizard-step-active, .ast-onboarding-wizard-step.ast-onboarding-wizard-step-completed {
86
+ background-color: #005B9A;
87
+ border-color: #005B9A;
88
+ position: relative;
89
+ }
90
+ .ast-onboarding-wizard-step.ast-onboarding-wizard-step-completed:after {
91
+ color: #fff;
92
+ display: block;
93
+ font-size: 15px;
94
+ font-weight: 400;
95
+ left: -1px;
96
+ position: absolute;
97
+ text-align: center;
98
+ top: 0px;
99
+ width: 100%;
100
+ content: "\f147";
101
+ font-family: dashicons;
102
+ }
103
+ .ast-onboarding-wizard-step-line {
104
+ background: #74C2E1;
105
+ height: 3px;
106
+ margin: 0 2px;
107
+ width: 100%;
108
+ }
109
+
110
+ .ast-onboarding-wizard-container {
111
+ margin: 0 auto;
112
+ width: 750px;
113
+ }
114
+ .ast-onboarding-wizard-content {
115
+ background: #fff;
116
+ border: 1px solid #eee;
117
+ color: #777;
118
+ font-size: 14px;
119
+ margin: 30px 0 10px;
120
+ padding: 45px 30px 20px;
121
+ }
122
+ .ast-onboarding-wizard-content h2 {
123
+ color: #393f4a;
124
+ font-size: 24px;
125
+ font-weight: 500;
126
+ margin: 0 0 5px;
127
+ }
128
+ .ast-onboarding-wizard-content .ast-separator {
129
+ border-top: 1px solid #eee;
130
+ clear: both;
131
+ margin: 26px 0;
132
+ }
133
+ .ast-onboarding-step-shipping,.ast-onboarding-step-delivered,.ast-onboarding-step-trackship{
134
+ display:none;
135
+ }
136
+ .ast-onboarding-wizard-container section.tab_section{
137
+ display: block;
138
+ background: #fff;
139
+ padding: 0;
140
+ }
141
+ .ast-onboarding-wizard-container .provider {
142
+ width: 33%;
143
+ }
144
+ .ast-onboarding-wizard-logo .plugin-logo{
145
+ padding: 15px 0;
146
+ }
147
+ .woocommerce.zorem_admin_layout table.form-table th{
148
+ width: 50%;
149
+ }
150
+ #wc_ast_delivered_settings_form .form-table tr,.ast-onboarding-step-trackship .form-table tr{
151
+ border-bottom: 1px solid #eee;
152
+ }
153
+ @media screen and (max-width: 767px) {
154
+ .ast-onboarding-wizard-container{
155
+ max-width: 100%;
156
+ width: auto;
157
+ margin: 0 10px;
158
+ }
159
+ .ast-onboarding-wizard-logo .plugin-logo {
160
+ max-width: 250px;
161
+ }
162
+ }
163
+ @media screen and (min-width: 768px) and (max-width: 1269px) {
164
+ .ast-onboarding-wizard-container .provider{
165
+ width: 25%;
166
+ }
167
+ }
168
+ @media screen and (max-width: 767px) {
169
+ .ast-onboarding-wizard-container .provider{
170
+ width: 33.3%;
171
+ }
172
+ .ast-onboarding-wizard-content{
173
+ padding: 20px 10px 20px;
174
+ }
175
+ }
176
+ @media screen and (max-width: 500px) {
177
+ .provider,.ast-onboarding-wizard-container .provider{
178
+ width: 50%;
179
+ }
180
+ }
assets/js/admin.js CHANGED
@@ -48,13 +48,19 @@ jQuery( function( $ ) {
48
  opacity: 0.6
49
  }
50
  } );
51
-
52
- if($('input#change_order_to_shipped').prop("checked") == true){
53
- var checked = 'yes';
54
- } else{
55
- var checked = 'no';
 
 
 
 
 
56
  }
57
 
 
58
  var data = {
59
  action: 'wc_shipment_tracking_save_form',
60
  order_id: woocommerce_admin_meta_boxes.post_id,
@@ -79,11 +85,14 @@ jQuery( function( $ ) {
79
  $( 'input#custom_tracking_link' ).val( '' );
80
  $( 'input#tracking_number' ).val( '' );
81
  $( 'input#date_shipped' ).val( '' );
82
- if(checked == 'yes'){
83
  jQuery('#order_status').val('wc-completed');
84
  jQuery('#order_status').select2().trigger('change');
85
- jQuery('#post').before('<div id="order_updated_message" class="updated notice notice-success is-dismissible"><p>Order updated.</p><button type="button" class="notice-dismiss update-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>');
86
- //location.reload();
 
 
 
87
  }
88
  }
89
  });
@@ -283,9 +292,6 @@ jQuery(document).on("submit", "#add_tracking_number_form", function(){
283
  type: 'POST',
284
  success: function(response) {
285
  location.reload();
286
- //jQuery(".provider_list").replaceWith(response);
287
- //form[0].reset();
288
- //jQuery("#add_tracking_number_form").unblock();
289
  },
290
  error: function(response) {
291
  console.log(response);
48
  opacity: 0.6
49
  }
50
  } );
51
+ var change_order_to_shipped = $('input[name=change_order_to_shipped]:checked').val();
52
+
53
+ if(change_order_to_shipped == 'change_order_to_partial_shipped'){
54
+ checked = 'change_order_to_partial_shipped';
55
+ } else if(change_order_to_shipped == 'change_order_to_shipped'){
56
+ checked = 'change_order_to_shipped';
57
+ } else if($('input#change_order_to_shipped').prop("checked") == true){
58
+ checked = 'change_order_to_shipped';
59
+ } else{
60
+ checked = 'no';
61
  }
62
 
63
+
64
  var data = {
65
  action: 'wc_shipment_tracking_save_form',
66
  order_id: woocommerce_admin_meta_boxes.post_id,
85
  $( 'input#custom_tracking_link' ).val( '' );
86
  $( 'input#tracking_number' ).val( '' );
87
  $( 'input#date_shipped' ).val( '' );
88
+ if(checked == 'change_order_to_shipped'){
89
  jQuery('#order_status').val('wc-completed');
90
  jQuery('#order_status').select2().trigger('change');
91
+ jQuery('#post').before('<div id="order_updated_message" class="updated notice notice-success is-dismissible"><p>Order updated.</p><button type="button" class="notice-dismiss update-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>');
92
+ } else if(checked == 'change_order_to_partial_shipped'){
93
+ jQuery('#order_status').val('wc-partial-shipped');
94
+ jQuery('#order_status').select2().trigger('change');
95
+ jQuery('#post').before('<div id="order_updated_message" class="updated notice notice-success is-dismissible"><p>Order updated.</p><button type="button" class="notice-dismiss update-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>');
96
  }
97
  }
98
  });
292
  type: 'POST',
293
  success: function(response) {
294
  location.reload();
 
 
 
295
  },
296
  error: function(response) {
297
  console.log(response);
assets/js/amcharts/amcharts.js ADDED
@@ -0,0 +1,403 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function(){var d;window.AmCharts?d=window.AmCharts:(d={},window.AmCharts=d,d.themes={},d.maps={},d.inheriting={},d.charts=[],d.onReadyArray=[],d.useUTC=!1,d.updateRate=60,d.uid=0,d.lang={},d.translations={},d.mapTranslations={},d.windows={},d.initHandlers=[],d.amString="am",d.pmString="pm");d.Class=function(a){var b=function(){arguments[0]!==d.inheriting&&(this.events={},this.construct.apply(this,arguments))};a.inherits?(b.prototype=new a.inherits(d.inheriting),b.base=a.inherits.prototype,delete a.inherits):
2
+ (b.prototype.createEvents=function(){for(var a=0;a<arguments.length;a++)this.events[arguments[a]]=[]},b.prototype.listenTo=function(a,b,c){this.removeListener(a,b,c);a.events[b].push({handler:c,scope:this})},b.prototype.addListener=function(a,b,c){this.removeListener(this,a,b);a&&this.events[a]&&this.events[a].push({handler:b,scope:c})},b.prototype.removeListener=function(a,b,c){if(a&&a.events&&(a=a.events[b]))for(b=a.length-1;0<=b;b--)a[b].handler===c&&a.splice(b,1)},b.prototype.fire=function(a){for(var b=
3
+ this.events[a.type],c=0;c<b.length;c++){var d=b[c];d.handler.call(d.scope,a)}});for(var c in a)b.prototype[c]=a[c];return b};d.addChart=function(a){window.requestAnimationFrame?d.animationRequested||(d.animationRequested=!0,window.requestAnimationFrame(d.update)):d.updateInt||(d.updateInt=setInterval(function(){d.update()},Math.round(1E3/d.updateRate)));d.charts.push(a)};d.removeChart=function(a){for(var b=d.charts,c=b.length-1;0<=c;c--)b[c]==a&&b.splice(c,1);0===b.length&&(d.requestAnimation&&(window.cancelAnimationFrame(d.requestAnimation),
4
+ d.animationRequested=!1),d.updateInt&&(clearInterval(d.updateInt),d.updateInt=NaN))};d.isModern=!0;d.getIEVersion=function(){var a=0,b,c;"Microsoft Internet Explorer"==navigator.appName&&(b=navigator.userAgent,c=/MSIE ([0-9]{1,}[.0-9]{0,})/,null!==c.exec(b)&&(a=parseFloat(RegExp.$1)));return a};d.applyLang=function(a,b){var c=d.translations;b.dayNames=d.extend({},d.dayNames);b.shortDayNames=d.extend({},d.shortDayNames);b.monthNames=d.extend({},d.monthNames);b.shortMonthNames=d.extend({},d.shortMonthNames);
5
+ b.amString="am";b.pmString="pm";c&&(c=c[a])&&(d.lang=c,b.langObj=c,c.monthNames&&(b.dayNames=d.extend({},c.dayNames),b.shortDayNames=d.extend({},c.shortDayNames),b.monthNames=d.extend({},c.monthNames),b.shortMonthNames=d.extend({},c.shortMonthNames)),c.am&&(b.amString=c.am),c.pm&&(b.pmString=c.pm));d.amString=b.amString;d.pmString=b.pmString};d.IEversion=d.getIEVersion();9>d.IEversion&&0<d.IEversion&&(d.isModern=!1,d.isIE=!0);d.dx=0;d.dy=0;if(document.addEventListener||window.opera)d.isNN=!0,d.isIE=
6
+ !1,d.dx=.5,d.dy=.5;document.attachEvent&&(d.isNN=!1,d.isIE=!0,d.isModern||(d.dx=0,d.dy=0));window.chrome&&(d.chrome=!0);d.handleMouseUp=function(a){for(var b=d.charts,c=0;c<b.length;c++){var e=b[c];e&&e.handleReleaseOutside&&e.handleReleaseOutside(a)}};d.handleMouseMove=function(a){for(var b=d.charts,c=0;c<b.length;c++){var e=b[c];e&&e.handleMouseMove&&e.handleMouseMove(a)}};d.handleWheel=function(a){for(var b=d.charts,c=0;c<b.length;c++){var e=b[c];if(e&&e.mouseIsOver){(e.mouseWheelScrollEnabled||
7
+ e.mouseWheelZoomEnabled)&&e.handleWheel&&(e.handleMouseMove(a),e.handleWheel(a));break}}};d.resetMouseOver=function(){for(var a=d.charts,b=0;b<a.length;b++){var c=a[b];c&&(c.mouseIsOver=!1)}};d.ready=function(a){d.onReadyArray.push(a)};d.handleLoad=function(){d.isReady=!0;for(var a=d.onReadyArray,b=0;b<a.length;b++){var c=a[b];isNaN(d.processDelay)?c():setTimeout(c,d.processDelay*b)}d.onReadyArray=[]};d.addInitHandler=function(a,b){d.initHandlers.push({method:a,types:b})};d.callInitHandler=function(a){var b=
8
+ d.initHandlers;if(d.initHandlers)for(var c=0;c<b.length;c++){var e=b[c];e.types?d.isInArray(e.types,a.type)&&e.method(a):e.method(a)}};d.getUniqueId=function(){d.uid++;return"AmChartsEl-"+d.uid};d.isNN&&(document.addEventListener("mousemove",d.handleMouseMove),document.addEventListener("mouseup",d.handleMouseUp,!0),window.addEventListener("load",d.handleLoad,!0));d.isIE&&(document.attachEvent("onmousemove",d.handleMouseMove),document.attachEvent("onmouseup",d.handleMouseUp),window.attachEvent("onload",
9
+ d.handleLoad));d.addWheelListeners=function(){d.wheelIsListened||(d.isNN&&(window.addEventListener("DOMMouseScroll",d.handleWheel,!0),document.addEventListener("mousewheel",d.handleWheel,!0)),d.isIE&&document.attachEvent("onmousewheel",d.handleWheel));d.wheelIsListened=!0};d.clear=function(){var a=d.charts;if(a)for(var b=a.length-1;0<=b;b--)a[b].clear();d.updateInt&&clearInterval(d.updateInt);d.requestAnimation&&window.cancelAnimationFrame(d.requestAnimation);d.charts=[];d.isNN&&(document.removeEventListener("mousemove",
10
+ d.handleMouseMove,!0),document.removeEventListener("mouseup",d.handleMouseUp,!0),window.removeEventListener("load",d.handleLoad,!0),window.removeEventListener("DOMMouseScroll",d.handleWheel,!0),document.removeEventListener("mousewheel",d.handleWheel,!0));d.isIE&&(document.detachEvent("onmousemove",d.handleMouseMove),document.detachEvent("onmouseup",d.handleMouseUp),window.detachEvent("onload",d.handleLoad))};d.makeChart=function(a,b,c){var e=b.type,g=b.theme;d.isString(g)&&(g=d.themes[g],b.theme=
11
+ g);var f;switch(e){case "serial":f=new d.AmSerialChart(g);break;case "xy":f=new d.AmXYChart(g);break;case "pie":f=new d.AmPieChart(g);break;case "radar":f=new d.AmRadarChart(g);break;case "gauge":f=new d.AmAngularGauge(g);break;case "funnel":f=new d.AmFunnelChart(g);break;case "map":f=new d.AmMap(g);break;case "stock":f=new d.AmStockChart(g);break;case "gantt":f=new d.AmGanttChart(g)}d.extend(f,b);d.isReady?isNaN(c)?f.write(a):setTimeout(function(){d.realWrite(f,a)},c):d.ready(function(){isNaN(c)?
12
+ f.write(a):setTimeout(function(){d.realWrite(f,a)},c)});return f};d.realWrite=function(a,b){a.write(b)};d.updateCount=0;d.validateAt=Math.round(d.updateRate/10);d.update=function(){var a=d.charts;d.updateCount++;var b=!1;d.updateCount==d.validateAt&&(b=!0,d.updateCount=0);if(a)for(var c=a.length-1;0<=c;c--)a[c].update&&a[c].update(),b&&(a[c].autoResize?a[c].validateSize&&a[c].validateSize():a[c].premeasure&&a[c].premeasure());window.requestAnimationFrame&&(d.requestAnimation=window.requestAnimationFrame(d.update))};
13
+ "complete"==document.readyState&&d.handleLoad()})();(function(){var d=window.AmCharts;d.toBoolean=function(a,b){if(void 0===a)return b;switch(String(a).toLowerCase()){case "true":case "yes":case "1":return!0;case "false":case "no":case "0":case null:return!1;default:return!!a}};d.removeFromArray=function(a,b){var c;if(void 0!==b&&void 0!==a)for(c=a.length-1;0<=c;c--)a[c]==b&&a.splice(c,1)};d.getPath=function(){var a=document.getElementsByTagName("script");if(a)for(var b=0;b<a.length;b++){var c=a[b].src;if(-1!==c.search(/\/(amcharts|ammap)\.js/))return c.replace(/\/(amcharts|ammap)\.js.*/,
14
+ "/")}};d.normalizeUrl=function(a){return""!==a&&-1===a.search(/\/$/)?a+"/":a};d.isAbsolute=function(a){return 0===a.search(/^http[s]?:|^\//)};d.isInArray=function(a,b){for(var c=0;c<a.length;c++)if(a[c]==b)return!0;return!1};d.getDecimals=function(a){var b=0;isNaN(a)||(a=String(a),-1!=a.indexOf("e-")?b=Number(a.split("-")[1]):-1!=a.indexOf(".")&&(b=a.split(".")[1].length));return b};d.wordwrap=function(a,b,c,e){var g,f,h,k;a+="";if(1>b)return a;g=-1;for(a=(k=a.split(/\r\n|\n|\r/)).length;++g<a;k[g]+=
15
+ h){h=k[g];for(k[g]="";h.length>b;k[g]+=d.trim(h.slice(0,f))+((h=h.slice(f)).length?c:""))f=2==e||(f=h.slice(0,b+1).match(/\S*(\s)?$/))[1]?b:f.input.length-f[0].length||1==e&&b||f.input.length+(f=h.slice(b).match(/^\S*/))[0].length;h=d.trim(h)}return k.join(c)};d.trim=function(a){return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};d.wrappedText=function(a,b,c,e,g,f,h,k){var l=d.text(a,b,c,e,g,f,h);if(l){var m=l.getBBox();if(m.width>k){var n="\n";d.isModern||(n="<br>");k=Math.floor(k/(m.width/
16
+ b.length));2<k&&(k-=2);b=d.wordwrap(b,k,n,!0);l.remove();l=d.text(a,b,c,e,g,f,h)}}return l};d.getStyle=function(a,b){var c="";if(document.defaultView&&document.defaultView.getComputedStyle)try{c=document.defaultView.getComputedStyle(a,"").getPropertyValue(b)}catch(e){}else a.currentStyle&&(b=b.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),c=a.currentStyle[b]);return c};d.removePx=function(a){if(void 0!==a)return Number(a.substring(0,a.length-2))};d.getURL=function(a,b){if(a)if("_self"!=
17
+ b&&b)if("_top"==b&&window.top)window.top.location.href=a;else if("_parent"==b&&window.parent)window.parent.location.href=a;else if("_blank"==b)window.open(a);else{var c=document.getElementsByName(b)[0];c?c.src=a:(c=d.windows[b])?c.opener&&!c.opener.closed?c.location.href=a:d.windows[b]=window.open(a):d.windows[b]=window.open(a)}else window.location.href=a};d.ifArray=function(a){return a&&"object"==typeof a&&0<a.length?!0:!1};d.callMethod=function(a,b){var c;for(c=0;c<b.length;c++){var e=b[c];if(e){if(e[a])e[a]();
18
+ var d=e.length;if(0<d){var f;for(f=0;f<d;f++){var h=e[f];if(h&&h[a])h[a]()}}}}};d.toNumber=function(a){return"number"==typeof a?a:Number(String(a).replace(/[^0-9\-.]+/g,""))};d.toColor=function(a){if(""!==a&&void 0!==a)if(-1!=a.indexOf(",")){a=a.split(",");var b;for(b=0;b<a.length;b++){var c=a[b].substring(a[b].length-6,a[b].length);a[b]="#"+c}}else a=a.substring(a.length-6,a.length),a="#"+a;return a};d.toCoordinate=function(a,b,c){var e;void 0!==a&&(a=String(a),c&&c<b&&(b=c),e=Number(a),-1!=a.indexOf("!")&&
19
+ (e=b-Number(a.substr(1))),-1!=a.indexOf("%")&&(e=b*Number(a.substr(0,a.length-1))/100));return e};d.fitToBounds=function(a,b,c){a<b&&(a=b);a>c&&(a=c);return a};d.isDefined=function(a){return void 0===a?!1:!0};d.stripNumbers=function(a){return a.replace(/[0-9]+/g,"")};d.roundTo=function(a,b){if(0>b)return a;var c=Math.pow(10,b);return Math.round(a*c)/c};d.toFixed=function(a,b){var c=!1;0>a&&(c=!0,a=Math.abs(a));var e=String(Math.round(a*Math.pow(10,b)));if(0<b){var d=e.length;if(d<b){var f;for(f=0;f<
20
+ b-d;f++)e="0"+e}d=e.substring(0,e.length-b);""===d&&(d=0);e=d+"."+e.substring(e.length-b,e.length);return c?"-"+e:e}return String(e)};d.formatDuration=function(a,b,c,e,g,f){var h=d.intervals,k=f.decimalSeparator;if(a>=h[b].contains){var l=a-Math.floor(a/h[b].contains)*h[b].contains;"ss"==b?(l=d.formatNumber(l,f),1==l.split(k)[0].length&&(l="0"+l)):l=d.roundTo(l,f.precision);("mm"==b||"hh"==b)&&10>l&&(l="0"+l);c=l+""+e[b]+""+c;a=Math.floor(a/h[b].contains);b=h[b].nextInterval;return d.formatDuration(a,
21
+ b,c,e,g,f)}"ss"==b&&(a=d.formatNumber(a,f),1==a.split(k)[0].length&&(a="0"+a));"mm"==b&&(a=d.roundTo(a,f.precision));("mm"==b||"hh"==b)&&10>a&&(a="0"+a);c=a+""+e[b]+""+c;if(h[g].count>h[b].count)for(a=h[b].count;a<h[g].count;a++)b=h[b].nextInterval,"ss"==b||"mm"==b||"hh"==b?c="00"+e[b]+""+c:"DD"==b&&(c="0"+e[b]+""+c);":"==c.charAt(c.length-1)&&(c=c.substring(0,c.length-1));return c};d.formatNumber=function(a,b,c,e,g){a=d.roundTo(a,b.precision);isNaN(c)&&(c=b.precision);var f=b.decimalSeparator;b=
22
+ b.thousandsSeparator;void 0==f&&(f=",");void 0==b&&(b=" ");var h;h=0>a?"-":"";a=Math.abs(a);var k=String(a),l=!1;-1!=k.indexOf("e")&&(l=!0);0<=c&&!l&&(k=d.toFixed(a,c));var m="";if(l)m=k;else{var k=k.split("."),l=String(k[0]),n;for(n=l.length;0<=n;n-=3)m=n!=l.length?0!==n?l.substring(n-3,n)+b+m:l.substring(n-3,n)+m:l.substring(n-3,n);void 0!==k[1]&&(m=m+f+k[1]);void 0!==c&&0<c&&"0"!=m&&(m=d.addZeroes(m,f,c))}m=h+m;""===h&&!0===e&&0!==a&&(m="+"+m);!0===g&&(m+="%");return m};d.addZeroes=function(a,
23
+ b,c){a=a.split(b);void 0===a[1]&&0<c&&(a[1]="0");return a[1].length<c?(a[1]+="0",d.addZeroes(a[0]+b+a[1],b,c)):void 0!==a[1]?a[0]+b+a[1]:a[0]};d.scientificToNormal=function(a){var b;a=String(a).split("e");var c;if("-"==a[1].substr(0,1)){b="0.";for(c=0;c<Math.abs(Number(a[1]))-1;c++)b+="0";b+=a[0].split(".").join("")}else{var e=0;b=a[0].split(".");b[1]&&(e=b[1].length);b=a[0].split(".").join("");for(c=0;c<Math.abs(Number(a[1]))-e;c++)b+="0"}return b};d.toScientific=function(a,b){if(0===a)return"0";
24
+ var c=Math.floor(Math.log(Math.abs(a))*Math.LOG10E),e=String(e).split(".").join(b);return String(e)+"e"+c};d.randomColor=function(){return"#"+("00000"+(16777216*Math.random()<<0).toString(16)).substr(-6)};d.hitTest=function(a,b,c){var e=!1,g=a.x,f=a.x+a.width,h=a.y,k=a.y+a.height,l=d.isInRectangle;e||(e=l(g,h,b));e||(e=l(g,k,b));e||(e=l(f,h,b));e||(e=l(f,k,b));e||!0===c||(e=d.hitTest(b,a,!0));return e};d.isInRectangle=function(a,b,c){return a>=c.x-5&&a<=c.x+c.width+5&&b>=c.y-5&&b<=c.y+c.height+5?
25
+ !0:!1};d.isPercents=function(a){if(-1!=String(a).indexOf("%"))return!0};d.formatValue=function(a,b,c,e,g,f,h,k){if(b){void 0===g&&(g="");var l;for(l=0;l<c.length;l++){var m=c[l],n=b[m];void 0!==n&&(n=f?d.addPrefix(n,k,h,e):d.formatNumber(n,e),a=a.replace(new RegExp("\\[\\["+g+""+m+"\\]\\]","g"),n))}}return a};d.formatDataContextValue=function(a,b){if(a){var c=a.match(/\[\[.*?\]\]/g),e;for(e=0;e<c.length;e++){var d=c[e],d=d.substr(2,d.length-4);void 0!==b[d]&&(a=a.replace(new RegExp("\\[\\["+d+"\\]\\]",
26
+ "g"),b[d]))}}return a};d.massReplace=function(a,b){for(var c in b)if(b.hasOwnProperty(c)){var e=b[c];void 0===e&&(e="");a=a.replace(c,e)}return a};d.cleanFromEmpty=function(a){return a.replace(/\[\[[^\]]*\]\]/g,"")};d.addPrefix=function(a,b,c,e,g){var f=d.formatNumber(a,e),h="",k,l,m;if(0===a)return"0";0>a&&(h="-");a=Math.abs(a);if(1<a)for(k=b.length-1;-1<k;k--){if(a>=b[k].number&&(l=a/b[k].number,m=Number(e.precision),1>m&&(m=1),c=d.roundTo(l,m),m=d.formatNumber(c,{precision:-1,decimalSeparator:e.decimalSeparator,
27
+ thousandsSeparator:e.thousandsSeparator}),!g||l==c)){f=h+""+m+""+b[k].prefix;break}}else for(k=0;k<c.length;k++)if(a<=c[k].number){l=a/c[k].number;m=Math.abs(Math.floor(Math.log(l)*Math.LOG10E));l=d.roundTo(l,m);f=h+""+l+""+c[k].prefix;break}return f};d.remove=function(a){a&&a.remove()};d.getEffect=function(a){">"==a&&(a="easeOutSine");"<"==a&&(a="easeInSine");"elastic"==a&&(a="easeOutElastic");return a};d.getObjById=function(a,b){var c,e;for(e=0;e<a.length;e++){var d=a[e];if(d.id==b){c=d;break}}return c};
28
+ d.applyTheme=function(a,b,c){b||(b=d.theme);try{b=JSON.parse(JSON.stringify(b))}catch(e){}b&&b[c]&&d.extend(a,b[c])};d.isString=function(a){return"string"==typeof a?!0:!1};d.extend=function(a,b,c){var e;a||(a={});for(e in b)c?a.hasOwnProperty(e)||(a[e]=b[e]):a[e]=b[e];return a};d.copyProperties=function(a,b){for(var c in a)a.hasOwnProperty(c)&&"events"!=c&&void 0!==a[c]&&"function"!=typeof a[c]&&"cname"!=c&&(b[c]=a[c])};d.processObject=function(a,b,c,e){if(!1===a instanceof b&&(a=e?d.extend(new b(c),
29
+ a):d.extend(a,new b(c),!0),a.listeners))for(var g in a.listeners)b=a.listeners[g],a.addListener(b.event,b.method);return a};d.fixNewLines=function(a){var b=RegExp("\\n","g");a&&(a=a.replace(b,"<br />"));return a};d.fixBrakes=function(a){if(d.isModern){var b=RegExp("<br>","g");a&&(a=a.replace(b,"\n"))}else a=d.fixNewLines(a);return a};d.deleteObject=function(a,b){if(a){if(void 0===b||null===b)b=20;if(0!==b)if("[object Array]"===Object.prototype.toString.call(a))for(var c=0;c<a.length;c++)d.deleteObject(a[c],
30
+ b-1),a[c]=null;else if(a&&!a.tagName)try{for(c in a.theme=null,a)a[c]&&("object"==typeof a[c]&&d.deleteObject(a[c],b-1),"function"!=typeof a[c]&&(a[c]=null))}catch(e){}}};d.bounce=function(a,b,c,e,d){return(b/=d)<1/2.75?7.5625*e*b*b+c:b<2/2.75?e*(7.5625*(b-=1.5/2.75)*b+.75)+c:b<2.5/2.75?e*(7.5625*(b-=2.25/2.75)*b+.9375)+c:e*(7.5625*(b-=2.625/2.75)*b+.984375)+c};d.easeInOutQuad=function(a,b,c,e,d){b/=d/2;if(1>b)return e/2*b*b+c;b--;return-e/2*(b*(b-2)-1)+c};d.easeInSine=function(a,b,c,e,d){return-e*
31
+ Math.cos(b/d*(Math.PI/2))+e+c};d.easeOutSine=function(a,b,c,e,d){return e*Math.sin(b/d*(Math.PI/2))+c};d.easeOutElastic=function(a,b,c,e,d){a=1.70158;var f=0,h=e;if(0===b)return c;if(1==(b/=d))return c+e;f||(f=.3*d);h<Math.abs(e)?(h=e,a=f/4):a=f/(2*Math.PI)*Math.asin(e/h);return h*Math.pow(2,-10*b)*Math.sin(2*(b*d-a)*Math.PI/f)+e+c};d.fixStepE=function(a){a=a.toExponential(0).split("e");var b=Number(a[1]);9==Number(a[0])&&b++;return d.generateNumber(1,b)};d.generateNumber=function(a,b){var c="",e;
32
+ e=0>b?Math.abs(b)-1:Math.abs(b);var d;for(d=0;d<e;d++)c+="0";return 0>b?Number("0."+c+String(a)):Number(String(a)+c)};d.setCN=function(a,b,c,e){if(a.addClassNames&&b&&(b=b.node)&&c){var d=b.getAttribute("class");a=a.classNamePrefix+"-";e&&(a="");d?b.setAttribute("class",d+" "+a+c):b.setAttribute("class",a+c)}};d.removeCN=function(a,b,c){b&&(b=b.node)&&c&&(b=b.classList)&&b.remove(a.classNamePrefix+"-"+c)};d.parseDefs=function(a,b){for(var c in a){var e=typeof a[c];if(0<a[c].length&&"object"==e)for(var g=
33
+ 0;g<a[c].length;g++)e=document.createElementNS(d.SVG_NS,c),b.appendChild(e),d.parseDefs(a[c][g],e);else"object"==e?(e=document.createElementNS(d.SVG_NS,c),b.appendChild(e),d.parseDefs(a[c],e)):b.setAttribute(c,a[c])}}})();(function(){var d=window.AmCharts;d.AxisBase=d.Class({construct:function(a){this.createEvents("clickItem","rollOverItem","rollOutItem","rollOverGuide","rollOutGuide","clickGuide");this.titleDY=this.y=this.x=this.dy=this.dx=0;this.axisThickness=1;this.axisColor="#000000";this.axisAlpha=1;this.gridCount=this.tickLength=5;this.gridAlpha=.15;this.gridThickness=1;this.gridColor="#000000";this.dashLength=0;this.labelFrequency=1;this.showLastLabel=this.showFirstLabel=!0;this.fillColor="#FFFFFF";this.fillAlpha=
34
+ 0;this.labelsEnabled=!0;this.labelRotation=0;this.autoGridCount=!0;this.offset=0;this.guides=[];this.visible=!0;this.counter=0;this.guides=[];this.ignoreAxisWidth=this.inside=!1;this.minHorizontalGap=75;this.minVerticalGap=35;this.titleBold=!0;this.minorGridEnabled=!1;this.minorGridAlpha=.07;this.autoWrap=!1;this.titleAlign="middle";this.labelOffset=0;this.bcn="axis-";this.centerLabels=!1;this.firstDayOfWeek=1;this.centerLabelOnFullPeriod=this.markPeriodChange=this.boldPeriodBeginning=!0;this.titleWidth=
35
+ 0;this.periods=[{period:"fff",count:1},{period:"fff",count:5},{period:"fff",count:10},{period:"fff",count:50},{period:"fff",count:100},{period:"fff",count:500},{period:"ss",count:1},{period:"ss",count:5},{period:"ss",count:10},{period:"ss",count:30},{period:"mm",count:1},{period:"mm",count:5},{period:"mm",count:10},{period:"mm",count:30},{period:"hh",count:1},{period:"hh",count:3},{period:"hh",count:6},{period:"hh",count:12},{period:"DD",count:1},{period:"DD",count:2},{period:"DD",count:3},{period:"DD",
36
+ count:4},{period:"DD",count:5},{period:"WW",count:1},{period:"MM",count:1},{period:"MM",count:2},{period:"MM",count:3},{period:"MM",count:6},{period:"YYYY",count:1},{period:"YYYY",count:2},{period:"YYYY",count:5},{period:"YYYY",count:10},{period:"YYYY",count:50},{period:"YYYY",count:100}];this.dateFormats=[{period:"fff",format:"NN:SS.QQQ"},{period:"ss",format:"JJ:NN:SS"},{period:"mm",format:"JJ:NN"},{period:"hh",format:"JJ:NN"},{period:"DD",format:"MMM DD"},{period:"WW",format:"MMM DD"},{period:"MM",
37
+ format:"MMM"},{period:"YYYY",format:"YYYY"}];this.nextPeriod={fff:"ss",ss:"mm",mm:"hh",hh:"DD",DD:"MM",MM:"YYYY"};d.applyTheme(this,a,"AxisBase")},zoom:function(a,b){this.start=a;this.end=b;this.dataChanged=!0;this.draw()},fixAxisPosition:function(){var a=this.position;"H"==this.orientation?("left"==a&&(a="bottom"),"right"==a&&(a="top")):("bottom"==a&&(a="left"),"top"==a&&(a="right"));this.position=a},init:function(){this.createBalloon()},draw:function(){var a=this.chart;this.prevBY=this.prevBX=NaN;
38
+ this.allLabels=[];this.counter=0;this.destroy();this.fixAxisPosition();this.setBalloonBounds();this.labels=[];var b=a.container,c=b.set();a.gridSet.push(c);this.set=c;b=b.set();a.axesLabelsSet.push(b);this.labelsSet=b;this.axisLine=new this.axisRenderer(this);this.autoGridCount?("V"==this.orientation?(a=this.height/this.minVerticalGap,3>a&&(a=3)):a=this.width/this.minHorizontalGap,this.gridCountR=Math.max(a,1)):this.gridCountR=this.gridCount;this.axisWidth=this.axisLine.axisWidth;this.addTitle()},
39
+ setOrientation:function(a){this.orientation=a?"H":"V"},addTitle:function(){var a=this.title;this.titleLabel=null;if(a){var b=this.chart,c=this.titleColor;void 0===c&&(c=b.color);var e=this.titleFontSize;isNaN(e)&&(e=b.fontSize+1);a=d.text(b.container,a,c,b.fontFamily,e,this.titleAlign,this.titleBold);d.setCN(b,a,this.bcn+"title");this.titleLabel=a}},positionTitle:function(){var a=this.titleLabel;if(a){var b,c,e=this.labelsSet,g={};0<e.length()?g=e.getBBox():(g.x=0,g.y=0,g.width=this.width,g.height=
40
+ this.height,d.VML&&(g.y+=this.y,g.x+=this.x));e.push(a);var e=g.x,f=g.y;d.VML&&(f-=this.y,e-=this.x);var h=g.width,g=g.height,k=this.width,l=this.height,m=0,n=a.getBBox().height/2,q=this.inside,p=this.titleAlign;switch(this.position){case "top":b="left"==p?-1:"right"==p?k:k/2;c=f-10-n;break;case "bottom":b="left"==p?-1:"right"==p?k:k/2;c=f+g+10+n;break;case "left":b=e-10-n;q&&(b-=5);m=-90;c=("left"==p?l+1:"right"==p?-1:l/2)+this.titleDY;this.titleWidth=n+10;break;case "right":b=e+h+10+n,q&&(b+=7),
41
+ c=("left"==p?l+2:"right"==p?-2:l/2)+this.titleDY,this.titleWidth=n+10,m=-90}this.marginsChanged?(a.translate(b,c),this.tx=b,this.ty=c):a.translate(this.tx,this.ty);this.marginsChanged=!1;isNaN(this.titleRotation)||(m=this.titleRotation);0!==m&&a.rotate(m)}},pushAxisItem:function(a,b){var c=this,e=a.graphics();0<e.length()&&(b?c.labelsSet.push(e):c.set.push(e));if(e=a.getLabel())c.labelsSet.push(e),e.click(function(b){c.handleMouse(b,a,"clickItem")}).touchend(function(b){c.handleMouse(b,a,"clickItem")}).mouseover(function(b){c.handleMouse(b,
42
+ a,"rollOverItem")}).mouseout(function(b){c.handleMouse(b,a,"rollOutItem")})},handleMouse:function(a,b,c){this.fire({type:c,value:b.value,serialDataItem:b.serialDataItem,axis:this,target:b.label,chart:this.chart,event:a})},addGuide:function(a){for(var b=this.guides,c=!1,e=b.length,g=0;g<b.length;g++)b[g]==a&&(c=!0,e=g);a=d.processObject(a,d.Guide,this.theme);a.id||(a.id="guideAuto"+e+"_"+(new Date).getTime());c||b.push(a)},removeGuide:function(a){var b=this.guides,c;for(c=0;c<b.length;c++)b[c]==a&&
43
+ b.splice(c,1)},handleGuideOver:function(a){clearTimeout(this.chart.hoverInt);var b={x:0,y:0,width:0,height:0};a.graphics&&(b=a.graphics.getBBox());var c=this.x+b.x+b.width/2,b=this.y+b.y+b.height/2,e=a.fillColor;void 0===e&&(e=a.lineColor);this.chart.showBalloon(a.balloonText,e,!0,c,b);this.fire({type:"rollOverGuide",guide:a,chart:this.chart})},handleGuideOut:function(a){this.chart.hideBalloon();this.fire({type:"rollOutGuide",guide:a,chart:this.chart})},handleGuideClick:function(a){this.chart.hideBalloon();
44
+ this.fire({type:"clickGuide",guide:a,chart:this.chart})},addEventListeners:function(a,b){var c=this;a.mouseover(function(){c.handleGuideOver(b)});a.mouseup(function(){c.handleGuideClick(b)});a.touchstart(function(){c.handleGuideOver(b)});a.mouseout(function(){c.handleGuideOut(b)})},getBBox:function(){var a;this.labelsSet&&(a=this.labelsSet.getBBox());a?d.VML||(a={x:a.x+this.x,y:a.y+this.y,width:a.width,height:a.height}):a={x:0,y:0,width:0,height:0};return a},destroy:function(){d.remove(this.set);
45
+ d.remove(this.labelsSet);var a=this.axisLine;a&&d.remove(a.axisSet);d.remove(this.grid0)},chooseMinorFrequency:function(a){for(var b=10;0<b;b--)if(a/b==Math.round(a/b))return a/b},parseDatesDraw:function(){var a,b=this.chart,c=this.showFirstLabel,e=this.showLastLabel,g,f="",h=d.extractPeriod(this.minPeriod),k=d.getPeriodDuration(h.period,h.count),l,m,n,q,p,t=this.firstDayOfWeek,r=this.boldPeriodBeginning;a=this.minorGridEnabled;var w,z=this.gridAlpha,x,u=this.choosePeriod(0),A=u.period,u=u.count,
46
+ y=d.getPeriodDuration(A,u);y<k&&(A=h.period,u=h.count,y=k);h=A;"WW"==h&&(h="DD");this.stepWidth=this.getStepWidth(this.timeDifference);var B=Math.ceil(this.timeDifference/y)+5,D=l=d.resetDateToMin(new Date(this.startTime-y),A,u,t).getTime();if(h==A&&1==u&&this.centerLabelOnFullPeriod||this.autoWrap||this.centerLabels)n=y*this.stepWidth,this.autoWrap&&!this.centerLabels&&(n=-n);this.cellWidth=k*this.stepWidth;q=Math.round(l/y);k=-1;q/2==Math.round(q/2)&&(k=-2,l-=y);q=this.firstTime;var C=0,I=0;a&&
47
+ 1<u&&(w=this.chooseMinorFrequency(u),x=d.getPeriodDuration(A,w),"DD"==A&&(x+=d.getPeriodDuration("hh")),"fff"==A&&(x=1));if(0<this.gridCountR)for(B-5-k>this.autoRotateCount&&!isNaN(this.autoRotateAngle)&&(this.labelRotationR=this.autoRotateAngle),a=k;a<=B;a++){p=q+y*(a+Math.floor((D-q)/y))-C;"DD"==A&&(p+=36E5);p=d.resetDateToMin(new Date(p),A,u,t).getTime();"MM"==A&&(g=(p-l)/y,1.5<=(p-l)/y&&(p=p-(g-1)*y+d.getPeriodDuration("DD",3),p=d.resetDateToMin(new Date(p),A,1).getTime(),C+=y));g=(p-this.startTime)*
48
+ this.stepWidth;if("radar"==b.type){if(g=this.axisWidth-g,0>g||g>this.axisWidth)continue}else this.rotate?"date"==this.type&&"middle"==this.gridPosition&&(I=-y*this.stepWidth/2):"date"==this.type&&(g=this.axisWidth-g);f=!1;this.nextPeriod[h]&&(f=this.checkPeriodChange(this.nextPeriod[h],1,p,l,h));l=!1;f&&this.markPeriodChange?(f=this.dateFormatsObject[this.nextPeriod[h]],this.twoLineMode&&(f=this.dateFormatsObject[h]+"\n"+f,f=d.fixBrakes(f)),l=!0):f=this.dateFormatsObject[h];r||(l=!1);this.currentDateFormat=
49
+ f;f=d.formatDate(new Date(p),f,b);if(a==k&&!c||a==B&&!e)f=" ";this.labelFunction&&(f=this.labelFunction(f,new Date(p),this,A,u,m).toString());this.boldLabels&&(l=!0);m=new this.axisItemRenderer(this,g,f,!1,n,I,!1,l);this.pushAxisItem(m);m=l=p;if(!isNaN(w))for(g=1;g<u;g+=w)this.gridAlpha=this.minorGridAlpha,f=p+x*g,f=d.resetDateToMin(new Date(f),A,w,t).getTime(),f=new this.axisItemRenderer(this,(f-this.startTime)*this.stepWidth,void 0,void 0,void 0,void 0,void 0,void 0,void 0,!0),this.pushAxisItem(f);
50
+ this.gridAlpha=z}},choosePeriod:function(a){var b=d.getPeriodDuration(this.periods[a].period,this.periods[a].count),c=this.periods;return this.timeDifference<b&&0<a?c[a-1]:Math.ceil(this.timeDifference/b)<=this.gridCountR?c[a]:a+1<c.length?this.choosePeriod(a+1):c[a]},getStepWidth:function(a){var b;this.startOnAxis?(b=this.axisWidth/(a-1),1==a&&(b=this.axisWidth)):b=this.axisWidth/a;return b},timeZoom:function(a,b){this.startTime=a;this.endTime=b},minDuration:function(){var a=d.extractPeriod(this.minPeriod);
51
+ return d.getPeriodDuration(a.period,a.count)},checkPeriodChange:function(a,b,c,e,g){c=new Date(c);var f=new Date(e),h=this.firstDayOfWeek;e=b;"DD"==a&&(b=1);c=d.resetDateToMin(c,a,b,h).getTime();b=d.resetDateToMin(f,a,b,h).getTime();return"DD"==a&&"hh"!=g&&c-b<d.getPeriodDuration(a,e)-d.getPeriodDuration("hh",1)?!1:c!=b?!0:!1},generateDFObject:function(){this.dateFormatsObject={};var a;for(a=0;a<this.dateFormats.length;a++){var b=this.dateFormats[a];this.dateFormatsObject[b.period]=b.format}},hideBalloon:function(){this.balloon&&
52
+ this.balloon.hide&&this.balloon.hide();this.prevBY=this.prevBX=NaN},formatBalloonText:function(a){return a},showBalloon:function(a,b,c,e){var d=this.offset;switch(this.position){case "bottom":b=this.height+d;break;case "top":b=-d;break;case "left":a=-d;break;case "right":a=this.width+d}c||(c=this.currentDateFormat);if("V"==this.orientation){if(0>b||b>this.height)return;if(isNaN(b)){this.hideBalloon();return}b=this.adjustBalloonCoordinate(b,e);e=this.coordinateToValue(b)}else{if(0>a||a>this.width)return;
53
+ if(isNaN(a)){this.hideBalloon();return}a=this.adjustBalloonCoordinate(a,e);e=this.coordinateToValue(a)}var f;if(d=this.chart.chartCursor)f=d.index;if(this.balloon&&void 0!==e&&this.balloon.enabled){if(this.balloonTextFunction){if("date"==this.type||!0===this.parseDates)e=new Date(e);e=this.balloonTextFunction(e)}else this.balloonText?e=this.formatBalloonText(this.balloonText,f,c):isNaN(e)||(e=this.formatValue(e,c));if(a!=this.prevBX||b!=this.prevBY)this.balloon.setPosition(a,b),this.prevBX=a,this.prevBY=
54
+ b,e&&this.balloon.showBalloon(e)}},adjustBalloonCoordinate:function(a){return a},createBalloon:function(){var a=this.chart,b=a.chartCursor;b&&(b=b.cursorPosition,"mouse"!=b&&(this.stickBalloonToCategory=!0),"start"==b&&(this.stickBalloonToStart=!0),"ValueAxis"==this.cname&&(this.stickBalloonToCategory=!1));this.balloon&&(this.balloon.destroy&&this.balloon.destroy(),d.extend(this.balloon,a.balloon,!0))},setBalloonBounds:function(){var a=this.balloon;if(a){var b=this.chart;a.cornerRadius=0;a.shadowAlpha=
55
+ 0;a.borderThickness=1;a.borderAlpha=1;a.adjustBorderColor=!1;a.showBullet=!1;this.balloon=a;a.chart=b;a.mainSet=b.plotBalloonsSet;a.pointerWidth=this.tickLength;if(this.parseDates||"date"==this.type)a.pointerWidth=0;a.className=this.id;b="V";"V"==this.orientation&&(b="H");this.stickBalloonToCategory||(a.animationDuration=0);var c,e,d,f,h=this.inside,k=this.width,l=this.height;switch(this.position){case "bottom":c=0;e=k;h?(d=0,f=l):(d=l,f=l+1E3);break;case "top":c=0;e=k;h?(d=0,f=l):(d=-1E3,f=0);break;
56
+ case "left":d=0;f=l;h?(c=0,e=k):(c=-1E3,e=0);break;case "right":d=0,f=l,h?(c=0,e=k):(c=k,e=k+1E3)}a.drop||(a.pointerOrientation=b);a.setBounds(c,d,e,f)}}})})();(function(){var d=window.AmCharts;d.ValueAxis=d.Class({inherits:d.AxisBase,construct:function(a){this.cname="ValueAxis";this.createEvents("axisChanged","logarithmicAxisFailed","axisZoomed","axisIntZoomed");d.ValueAxis.base.construct.call(this,a);this.dataChanged=!0;this.stackType="none";this.position="left";this.unitPosition="right";this.includeAllValues=this.recalculateToPercents=this.includeHidden=this.includeGuidesInMinMax=this.integersOnly=!1;this.durationUnits={DD:"d. ",hh:":",mm:":",ss:""};
57
+ this.scrollbar=!1;this.baseValue=0;this.radarCategoriesEnabled=!0;this.axisFrequency=1;this.gridType="polygons";this.useScientificNotation=!1;this.axisTitleOffset=10;this.pointPosition="axis";this.minMaxMultiplier=1;this.logGridLimit=2;this.totalTextOffset=this.treatZeroAs=0;this.minPeriod="ss";this.relativeStart=0;this.relativeEnd=1;d.applyTheme(this,a,this.cname)},updateData:function(){0>=this.gridCountR&&(this.gridCountR=1);this.totals=[];this.data=this.chart.chartData;var a=this.chart;"xy"!=a.type&&
58
+ (this.stackGraphs("smoothedLine"),this.stackGraphs("line"),this.stackGraphs("column"),this.stackGraphs("step"));this.recalculateToPercents&&this.recalculate();if(this.synchronizationMultiplier&&this.synchronizeWith)d.isString(this.synchronizeWith)&&(this.synchronizeWith=a.getValueAxisById(this.synchronizeWith)),this.synchronizeWith&&(this.synchronizeWithAxis(this.synchronizeWith),this.foundGraphs=!0);else if(this.foundGraphs=!1,this.getMinMax(),0===this.start&&this.end==this.data.length-1&&isNaN(this.minZoom)&&
59
+ isNaN(this.maxZoom)||isNaN(this.fullMin)&&isNaN(this.fullMax))this.fullMin=this.min,this.fullMax=this.max,"date"!=this.type&&this.strictMinMax&&(isNaN(this.minimum)||(this.fullMin=this.minimum),isNaN(this.maximum)||(this.fullMax=this.maximum)),this.logarithmic&&(this.fullMin=this.logMin,0===this.fullMin&&(this.fullMin=this.treatZeroAs)),"date"==this.type&&(this.minimumDate||(this.fullMin=this.minRR),this.maximumDate||(this.fullMax=this.maxRR),this.strictMinMax&&(this.minimumDate&&(this.fullMin=this.minimumDate.getTime()),
60
+ this.maximumDate&&(this.fullMax=this.maximumDate.getTime())))},draw:function(){d.ValueAxis.base.draw.call(this);var a=this.chart,b=this.set;this.labelRotationR=this.labelRotation;d.setCN(a,this.set,"value-axis value-axis-"+this.id);d.setCN(a,this.labelsSet,"value-axis value-axis-"+this.id);d.setCN(a,this.axisLine.axisSet,"value-axis value-axis-"+this.id);var c=this.type;"duration"==c&&(this.duration="ss");!0===this.dataChanged&&(this.updateData(),this.dataChanged=!1);"date"==c&&(this.logarithmic=
61
+ !1,this.min=this.minRR,this.max=this.maxRR,this.reversed=!1,this.getDateMinMax());if(this.logarithmic){var e=this.treatZeroAs,g=this.getExtremes(0,this.data.length-1).min;!isNaN(this.minimum)&&this.minimum<g&&(g=this.minimum);this.logMin=g;this.minReal<g&&(this.minReal=g);isNaN(this.minReal)&&(this.minReal=g);0<e&&0===g&&(this.minReal=g=e);if(0>=g||0>=this.minimum){this.fire({type:"logarithmicAxisFailed",chart:a});return}}this.grid0=null;var f,h,k=a.dx,l=a.dy,e=!1,g=this.logarithmic;if(isNaN(this.min)||
62
+ isNaN(this.max)||!this.foundGraphs||Infinity==this.min||-Infinity==this.max)e=!0;else{"date"==this.type&&this.min==this.max&&(this.max+=this.minDuration(),this.min-=this.minDuration());var m=this.labelFrequency,n=this.showFirstLabel,q=this.showLastLabel,p=1,t=0;this.minCalc=this.min;this.maxCalc=this.max;if(this.strictMinMax&&(isNaN(this.minimum)||(this.min=this.minimum),isNaN(this.maximum)||(this.max=this.maximum),this.min==this.max))return;isNaN(this.minZoom)||(this.minReal=this.min=this.minZoom);
63
+ isNaN(this.maxZoom)||(this.max=this.maxZoom);if(this.logarithmic){h=this.fullMin;var r=this.fullMax;isNaN(this.minimum)||(h=this.minimum);isNaN(this.maximum)||(r=this.maximum);var r=Math.log(r)*Math.LOG10E-Math.log(h)*Math.LOG10E,w=Math.log(this.max)/Math.LN10-Math.log(h)*Math.LOG10E;this.relativeStart=d.roundTo((Math.log(this.minReal)/Math.LN10-Math.log(h)*Math.LOG10E)/r,5);this.relativeEnd=d.roundTo(w/r,5)}else this.relativeStart=d.roundTo(d.fitToBounds((this.min-this.fullMin)/(this.fullMax-this.fullMin),
64
+ 0,1),5),this.relativeEnd=d.roundTo(d.fitToBounds((this.max-this.fullMin)/(this.fullMax-this.fullMin),0,1),5);var r=Math.round((this.maxCalc-this.minCalc)/this.step)+1,z;!0===g?(z=Math.log(this.max)*Math.LOG10E-Math.log(this.minReal)*Math.LOG10E,this.stepWidth=this.axisWidth/z,z>this.logGridLimit&&(r=Math.ceil(Math.log(this.max)*Math.LOG10E)+1,t=Math.round(Math.log(this.minReal)*Math.LOG10E),r>this.gridCountR&&(p=Math.ceil(r/this.gridCountR)))):this.stepWidth=this.axisWidth/(this.max-this.min);var x=
65
+ 0;1>this.step&&-1<this.step&&(x=d.getDecimals(this.step));this.integersOnly&&(x=0);x>this.maxDecCount&&(x=this.maxDecCount);w=this.precision;isNaN(w)||(x=w);isNaN(this.maxZoom)&&(this.max=d.roundTo(this.max,this.maxDecCount),this.min=d.roundTo(this.min,this.maxDecCount));h={};h.precision=x;h.decimalSeparator=a.nf.decimalSeparator;h.thousandsSeparator=a.nf.thousandsSeparator;this.numberFormatter=h;var u;this.exponential=!1;for(h=t;h<r;h+=p){var A=d.roundTo(this.step*h+this.min,x);-1!=String(A).indexOf("e")&&
66
+ (this.exponential=!0)}this.duration&&(this.maxInterval=d.getMaxInterval(this.max,this.duration));var x=this.step,y,A=this.minorGridAlpha;this.minorGridEnabled&&(y=this.getMinorGridStep(x,this.stepWidth*x));if(this.autoGridCount||0!==this.gridCount)if("date"==c)this.generateDFObject(),this.timeDifference=this.max-this.min,this.maxTime=this.lastTime=this.max,this.startTime=this.firstTime=this.min,this.parseDatesDraw();else for(r>=this.autoRotateCount&&!isNaN(this.autoRotateAngle)&&(this.labelRotationR=
67
+ this.autoRotateAngle),c=this.minCalc,g&&(r++,c=this.maxCalc-r*x),this.gridCountReal=r,h=this.startCount=t;h<r;h+=p)if(t=x*h+c,t=d.roundTo(t,this.maxDecCount+1),!this.integersOnly||Math.round(t)==t)if(isNaN(w)||Number(d.toFixed(t,w))==t){if(!0===g)if(z>this.logGridLimit){if(t=Math.pow(10,h),t>this.max)continue}else if(0>=t&&(t=c+x*h+x/2,0>=t))continue;u=this.formatValue(t,!1,h);Math.round(h/m)!=h/m&&(u=void 0);if(0===h&&!n||h==r-1&&!q)u=" ";f=this.getCoordinate(t);var B;this.rotate&&this.autoWrap&&
68
+ (B=this.stepWidth*x-10);u=new this.axisItemRenderer(this,f,u,void 0,B,void 0,void 0,this.boldLabels);this.pushAxisItem(u);if(t==this.baseValue&&"radar"!=a.type){var D,C,I=this.width,H=this.height;"H"==this.orientation?0<=f&&f<=I+1&&(D=[f,f,f+k],C=[H,0,l]):0<=f&&f<=H+1&&(D=[0,I,I+k],C=[f,f,f+l]);D&&(f=d.fitToBounds(2*this.gridAlpha,0,1),isNaN(this.zeroGridAlpha)||(f=this.zeroGridAlpha),f=d.line(a.container,D,C,this.gridColor,f,1,this.dashLength),f.translate(this.x,this.y),this.grid0=f,a.axesSet.push(f),
69
+ f.toBack(),d.setCN(a,f,this.bcn+"zero-grid-"+this.id),d.setCN(a,f,this.bcn+"zero-grid"))}if(!isNaN(y)&&0<A&&h<r-1){f=x/y;g&&(y=x*(h+p)+this.minCalc,y=d.roundTo(y,this.maxDecCount+1),z>this.logGridLimit&&(y=Math.pow(10,h+p)),f=9,y=(y-t)/f);I=this.gridAlpha;this.gridAlpha=this.minorGridAlpha;for(H=1;H<f;H++){var Q=this.getCoordinate(t+y*H),Q=new this.axisItemRenderer(this,Q,"",!1,0,0,!1,!1,0,!0);this.pushAxisItem(Q)}this.gridAlpha=I}}z=this.guides;B=z.length;if(0<B){D=this.fillAlpha;for(h=this.fillAlpha=
70
+ 0;h<B;h++)C=z[h],k=NaN,y=C.above,isNaN(C.toValue)||(k=this.getCoordinate(C.toValue),u=new this.axisItemRenderer(this,k,"",!0,NaN,NaN,C),this.pushAxisItem(u,y)),l=NaN,isNaN(C.value)||(l=this.getCoordinate(C.value),u=new this.axisItemRenderer(this,l,C.label,!0,NaN,(k-l)/2,C),this.pushAxisItem(u,y)),isNaN(k)&&(l-=3,k=l+3),u&&(m=u.label)&&this.addEventListeners(m,C),isNaN(k-l)||0>l&&0>k||(k=new this.guideFillRenderer(this,l,k,C),this.pushAxisItem(k,y),y=k.graphics(),C.graphics=y,this.addEventListeners(y,
71
+ C));this.fillAlpha=D}u=this.baseValue;this.min>this.baseValue&&this.max>this.baseValue&&(u=this.min);this.min<this.baseValue&&this.max<this.baseValue&&(u=this.max);g&&u<this.minReal&&(u=this.minReal);this.baseCoord=this.getCoordinate(u,!0);u={type:"axisChanged",target:this,chart:a};u.min=g?this.minReal:this.min;u.max=this.max;this.fire(u);this.axisCreated=!0}g=this.axisLine.set;u=this.labelsSet;b.translate(this.x,this.y);u.translate(this.x,this.y);this.positionTitle();"radar"!=a.type&&g.toFront();
72
+ !this.visible||e?(b.hide(),g.hide(),u.hide()):(b.show(),g.show(),u.show());this.axisY=this.y;this.axisX=this.x},getDateMinMax:function(){this.minimumDate&&(this.minimumDate instanceof Date||(this.minimumDate=d.getDate(this.minimumDate,this.chart.dataDateFormat,"fff")),this.min=this.minimumDate.getTime());this.maximumDate&&(this.maximumDate instanceof Date||(this.maximumDate=d.getDate(this.maximumDate,this.chart.dataDateFormat,"fff")),this.max=this.maximumDate.getTime())},formatValue:function(a,b,
73
+ c){var e=this.exponential,g=this.logarithmic,f=this.numberFormatter,h=this.chart;if(f)return!0===this.logarithmic&&(e=-1!=String(a).indexOf("e")?!0:!1),this.useScientificNotation&&(e=!0),this.usePrefixes&&(e=!1),e?(c=-1==String(a).indexOf("e")?a.toExponential(15):String(a),e=c.split("e"),c=Number(e[0]),e=Number(e[1]),c=d.roundTo(c,14),b||isNaN(this.precision)||(c=d.roundTo(c,this.precision)),10==c&&(c=1,e+=1),c=c+"e"+e,0===a&&(c="0"),1==a&&(c="1")):(g&&(e=String(a).split("."),e[1]?(f.precision=e[1].length,
74
+ 0>c&&(f.precision=Math.abs(c)),b&&1<a&&(f.precision=0),b||isNaN(this.precision)||(f.precision=this.precision)):f.precision=-1),c=this.usePrefixes?d.addPrefix(a,h.prefixesOfBigNumbers,h.prefixesOfSmallNumbers,f,!b):d.formatNumber(a,f,f.precision)),this.duration&&(b&&(f.precision=0),c=d.formatDuration(a,this.duration,"",this.durationUnits,this.maxInterval,f)),"date"==this.type&&(c=d.formatDate(new Date(a),this.currentDateFormat,h)),this.recalculateToPercents?c+="%":(b=this.unit)&&(c="left"==this.unitPosition?
75
+ b+c:c+b),this.labelFunction&&(c="date"==this.type?this.labelFunction(c,new Date(a),this).toString():this.labelFunction(a,c,this).toString()),c},getMinorGridStep:function(a,b){var c=[5,4,2];60>b&&c.shift();for(var e=Math.floor(Math.log(Math.abs(a))*Math.LOG10E),d=0;d<c.length;d++){var f=a/c[d],h=Math.floor(Math.log(Math.abs(f))*Math.LOG10E);if(!(1<Math.abs(e-h)))if(1>a){if(h=Math.pow(10,-h)*f,h==Math.round(h))return f}else if(f==Math.round(f))return f}return 1},stackGraphs:function(a){var b=this.stackType;
76
+ "stacked"==b&&(b="regular");"line"==b&&(b="none");"100% stacked"==b&&(b="100%");this.stackType=b;var c=[],e=[],g=[],f=[],h,k=this.chart.graphs,l,m,n,q,p,t=this.baseValue,r=!1;if("line"==a||"step"==a||"smoothedLine"==a)r=!0;if(r&&("regular"==b||"100%"==b))for(q=0;q<k.length;q++)n=k[q],n.stackGraph=null,n.hidden||(m=n.type,n.chart==this.chart&&n.valueAxis==this&&a==m&&n.stackable&&(l&&(n.stackGraph=l),l=n));n=this.start-10;l=this.end+10;q=this.data.length-1;n=d.fitToBounds(n,0,q);l=d.fitToBounds(l,
77
+ 0,q);for(p=n;p<=l;p++){var w=0;for(q=0;q<k.length;q++)if(n=k[q],n.hidden)n.newStack&&(g[p]=NaN,e[p]=NaN);else if(m=n.type,n.chart==this.chart&&n.valueAxis==this&&a==m&&n.stackable)if(m=this.data[p].axes[this.id].graphs[n.id],h=m.values.value,isNaN(h))n.newStack&&(g[p]=NaN,e[p]=NaN);else{var z=d.getDecimals(h);w<z&&(w=z);isNaN(f[p])?f[p]=Math.abs(h):f[p]+=Math.abs(h);f[p]=d.roundTo(f[p],w);z=n.fillToGraph;r&&z&&(z=this.data[p].axes[this.id].graphs[z.id])&&(m.values.open=z.values.value);"regular"==
78
+ b&&(r&&(isNaN(c[p])?(c[p]=h,m.values.close=h,m.values.open=this.baseValue):(isNaN(h)?m.values.close=c[p]:m.values.close=h+c[p],m.values.open=c[p],c[p]=m.values.close)),"column"==a&&(n.newStack&&(g[p]=NaN,e[p]=NaN),m.values.close=h,0>h?(m.values.close=h,isNaN(e[p])?m.values.open=t:(m.values.close+=e[p],m.values.open=e[p]),e[p]=m.values.close):(m.values.close=h,isNaN(g[p])?m.values.open=t:(m.values.close+=g[p],m.values.open=g[p]),g[p]=m.values.close)))}}for(p=this.start;p<=this.end;p++)for(q=0;q<k.length;q++)(n=
79
+ k[q],n.hidden)?n.newStack&&(g[p]=NaN,e[p]=NaN):(m=n.type,n.chart==this.chart&&n.valueAxis==this&&a==m&&n.stackable&&(m=this.data[p].axes[this.id].graphs[n.id],h=m.values.value,isNaN(h)||(c=h/f[p]*100,m.values.percents=c,m.values.total=f[p],n.newStack&&(g[p]=NaN,e[p]=NaN),"100%"==b&&(isNaN(e[p])&&(e[p]=0),isNaN(g[p])&&(g[p]=0),0>c?(m.values.close=d.fitToBounds(c+e[p],-100,100),m.values.open=e[p],e[p]=m.values.close):(m.values.close=d.fitToBounds(c+g[p],-100,100),m.values.open=g[p],g[p]=m.values.close)))))},
80
+ recalculate:function(){var a=this.chart,b=a.graphs,c;for(c=0;c<b.length;c++){var e=b[c];if(e.valueAxis==this){var g="value";if("candlestick"==e.type||"ohlc"==e.type)g="open";var f,h,k=this.end+2,k=d.fitToBounds(this.end+1,0,this.data.length-1),l=this.start;0<l&&l--;var m;h=this.start;e.compareFromStart&&(h=0);if(!isNaN(a.startTime)&&(m=a.categoryAxis)){var n=m.minDuration(),n=new Date(a.startTime+n/2),q=d.resetDateToMin(new Date(a.startTime),m.minPeriod).getTime();d.resetDateToMin(new Date(n),m.minPeriod).getTime()>
81
+ q&&h++}if(m=a.recalculateFromDate)m=d.getDate(m,a.dataDateFormat,"fff"),h=a.getClosestIndex(a.chartData,"time",m.getTime(),!0,0,a.chartData.length),k=a.chartData.length-1;for(m=h;m<=k&&(h=this.data[m].axes[this.id].graphs[e.id],f=h.values[g],e.recalculateValue&&(f=h.dataContext[e.valueField+e.recalculateValue]),isNaN(f));m++);this.recBaseValue=f;for(g=l;g<=k;g++){h=this.data[g].axes[this.id].graphs[e.id];h.percents={};var l=h.values,p;for(p in l)h.percents[p]="percents"!=p?l[p]/f*100-100:l[p]}}}},
82
+ getMinMax:function(){var a=!1,b=this.chart,c=b.graphs,e;for(e=0;e<c.length;e++){var g=c[e].type;("line"==g||"step"==g||"smoothedLine"==g)&&this.expandMinMax&&(a=!0)}a&&(0<this.start&&this.start--,this.end<this.data.length-1&&this.end++);"serial"==b.type&&(!0!==b.categoryAxis.parseDates||a||this.end<this.data.length-1&&this.end++);this.includeAllValues&&(this.start=0,this.end=this.data.length-1);a=this.minMaxMultiplier;b=this.getExtremes(this.start,this.end);this.min=b.min;this.max=b.max;this.minRR=
83
+ this.min;this.maxRR=this.max;a=(this.max-this.min)*(a-1);this.min-=a;this.max+=a;a=this.guides.length;if(this.includeGuidesInMinMax&&0<a)for(b=0;b<a;b++)c=this.guides[b],c.toValue<this.min&&(this.min=c.toValue),c.value<this.min&&(this.min=c.value),c.toValue>this.max&&(this.max=c.toValue),c.value>this.max&&(this.max=c.value);isNaN(this.minimum)||(this.min=this.minimum);isNaN(this.maximum)||(this.max=this.maximum);"date"==this.type&&this.getDateMinMax();this.min>this.max&&(a=this.max,this.max=this.min,
84
+ this.min=a);isNaN(this.minZoom)||(this.min=this.minZoom);isNaN(this.maxZoom)||(this.max=this.maxZoom);this.minCalc=this.min;this.maxCalc=this.max;this.minReal=this.min;this.maxReal=this.max;0===this.min&&0===this.max&&(this.max=9);this.min>this.max&&(this.min=this.max-1);a=this.min;b=this.max;c=this.max-this.min;e=0===c?Math.pow(10,Math.floor(Math.log(Math.abs(this.max))*Math.LOG10E))/10:Math.pow(10,Math.floor(Math.log(Math.abs(c))*Math.LOG10E))/10;isNaN(this.maximum)&&(this.max=Math.ceil(this.max/
85
+ e)*e+e);isNaN(this.minimum)&&(this.min=Math.floor(this.min/e)*e-e);0>this.min&&0<=a&&(this.min=0);0<this.max&&0>=b&&(this.max=0);"100%"==this.stackType&&(this.min=0>this.min?-100:0,this.max=0>this.max?0:100);c=this.max-this.min;e=Math.pow(10,Math.floor(Math.log(Math.abs(c))*Math.LOG10E))/10;this.step=Math.ceil(c/this.gridCountR/e)*e;c=Math.pow(10,Math.floor(Math.log(Math.abs(this.step))*Math.LOG10E));c=d.fixStepE(c);e=Math.ceil(this.step/c);5<e&&(e=10);5>=e&&2<e&&(e=5);this.step=Math.ceil(this.step/
86
+ (c*e))*c*e;isNaN(this.setStep)||(this.step=this.setStep);1>c?(this.maxDecCount=Math.abs(Math.log(Math.abs(c))*Math.LOG10E),this.maxDecCount=Math.round(this.maxDecCount),this.step=d.roundTo(this.step,this.maxDecCount+1)):this.maxDecCount=0;this.min=this.step*Math.floor(this.min/this.step);this.max=this.step*Math.ceil(this.max/this.step);0>this.min&&0<=a&&(this.min=0);0<this.max&&0>=b&&(this.max=0);1<this.minReal&&1<this.max-this.minReal&&(this.minReal=Math.floor(this.minReal));c=Math.pow(10,Math.floor(Math.log(Math.abs(this.minReal))*
87
+ Math.LOG10E));0===this.min&&(this.minReal=c);0===this.min&&1<this.minReal&&(this.minReal=1);0<this.min&&0<this.minReal-this.step&&(this.minReal=this.min+this.step<this.minReal?this.min+this.step:this.min);this.logarithmic&&(2<Math.log(b)*Math.LOG10E-Math.log(a)*Math.LOG10E?(this.minReal=this.min=Math.pow(10,Math.floor(Math.log(Math.abs(a))*Math.LOG10E)),this.maxReal=this.max=Math.pow(10,Math.ceil(Math.log(Math.abs(b))*Math.LOG10E))):(a=Math.pow(10,Math.floor(Math.log(Math.abs(a))*Math.LOG10E))/10,
88
+ Math.pow(10,Math.floor(Math.log(Math.abs(this.min))*Math.LOG10E))/10<a&&(this.minReal=this.min=10*a)))},getExtremes:function(a,b){var c,e,d;for(d=a;d<=b;d++){var f=this.data[d].axes[this.id].graphs,h;for(h in f)if(f.hasOwnProperty(h)){var k=this.chart.graphsById[h];if(k.includeInMinMax&&(!k.hidden||this.includeHidden)){isNaN(c)&&(c=Infinity);isNaN(e)&&(e=-Infinity);this.foundGraphs=!0;k=f[h].values;this.recalculateToPercents&&(k=f[h].percents);var l;if(this.minMaxField)l=k[this.minMaxField],l<c&&
89
+ (c=l),l>e&&(e=l);else for(var m in k)k.hasOwnProperty(m)&&"percents"!=m&&"total"!=m&&"error"!=m&&(l=k[m],l<c&&(c=l),l>e&&(e=l))}}}return{min:c,max:e}},zoomOut:function(a){this.maxZoom=this.minZoom=NaN;this.zoomToRelativeValues(0,1,a)},zoomToRelativeValues:function(a,b,c){if(this.reversed){var e=a;a=1-b;b=1-e}var d=this.fullMax,e=this.fullMin,f=e+(d-e)*a,h=e+(d-e)*b;0<=this.minimum&&0>f&&(f=0);this.logarithmic&&(isNaN(this.minimum)||(e=this.minimum),isNaN(this.maximum)||(d=this.maximum),d=Math.log(d)*
90
+ Math.LOG10E-Math.log(e)*Math.LOG10E,f=Math.pow(10,d*a+Math.log(e)*Math.LOG10E),h=Math.pow(10,d*b+Math.log(e)*Math.LOG10E));return this.zoomToValues(f,h,c)},zoomToValues:function(a,b,c){if(b<a){var e=b;b=a;a=e}var g=this.fullMax,e=this.fullMin;this.relativeStart=d.roundTo((a-e)/(g-e),9);this.relativeEnd=d.roundTo((b-e)/(g-e),9);if(this.logarithmic){isNaN(this.minimum)||(e=this.minimum);isNaN(this.maximum)||(g=this.maximum);var g=Math.log(g)*Math.LOG10E-Math.log(e)*Math.LOG10E,f=Math.log(b)/Math.LN10-
91
+ Math.log(e)*Math.LOG10E;this.relativeStart=d.roundTo((Math.log(a)/Math.LN10-Math.log(e)*Math.LOG10E)/g,9);this.relativeEnd=d.roundTo(f/g,9)}if(this.minZoom!=a||this.maxZoom!=b)return this.minZoom=a,this.maxZoom=b,e={type:"axisZoomed"},e.chart=this.chart,e.valueAxis=this,e.startValue=a,e.endValue=b,e.relativeStart=this.relativeStart,e.relativeEnd=this.relativeEnd,this.prevStartValue==a&&this.prevEndValue==b||this.fire(e),this.prevStartValue=a,this.prevEndValue=b,c||(a={},d.copyProperties(e,a),a.type=
92
+ "axisIntZoomed",this.fire(a)),0===this.relativeStart&&1==this.relativeEnd&&(this.maxZoom=this.minZoom=NaN),!0},coordinateToValue:function(a){if(isNaN(a))return NaN;var b=this.axisWidth,c=this.stepWidth,e=this.reversed,d=this.rotate,f=this.min,h=this.minReal;return!0===this.logarithmic?Math.pow(10,(d?!0===e?(b-a)/c:a/c:!0===e?a/c:(b-a)/c)+Math.log(h)*Math.LOG10E):!0===e?d?f-(a-b)/c:a/c+f:d?a/c+f:f-(a-b)/c},getCoordinate:function(a,b){if(isNaN(a))return NaN;var c=this.rotate,e=this.reversed,d=this.axisWidth,
93
+ f=this.stepWidth,h=this.min,k=this.minReal;!0===this.logarithmic?(0===a&&(a=this.treatZeroAs),h=Math.log(a)*Math.LOG10E-Math.log(k)*Math.LOG10E,c=c?!0===e?d-f*h:f*h:!0===e?f*h:d-f*h):c=!0===e?c?d-f*(a-h):f*(a-h):c?f*(a-h):d-f*(a-h);1E7<Math.abs(c)&&(c=c/Math.abs(c)*1E7);b||(c=Math.round(c));return c},synchronizeWithAxis:function(a){this.synchronizeWith=a;this.listenTo(this.synchronizeWith,"axisChanged",this.handleSynchronization)},handleSynchronization:function(){if(this.synchronizeWith){d.isString(this.synchronizeWith)&&
94
+ (this.synchronizeWith=this.chart.getValueAxisById(this.synchronizeWith));var a=this.synchronizeWith,b=a.min,c=a.max,a=a.step,e=this.synchronizationMultiplier;e&&(this.min=b*e,this.max=c*e,this.step=a*e,b=Math.abs(Math.log(Math.abs(Math.pow(10,Math.floor(Math.log(Math.abs(this.step))*Math.LOG10E))))*Math.LOG10E),this.maxDecCount=b=Math.round(b),this.draw())}}})})();(function(){var d=window.AmCharts;d.RecAxis=d.Class({construct:function(a){var b=a.chart,c=a.axisThickness,e=a.axisColor,g=a.axisAlpha,f=a.offset,h=a.dx,k=a.dy,l=a.x,m=a.y,n=a.height,q=a.width,p=b.container;"H"==a.orientation?(e=d.line(p,[0,q],[0,0],e,g,c),this.axisWidth=a.width,"bottom"==a.position?(k=c/2+f+n+m-1,c=l):(k=-c/2-f+m+k,c=h+l)):(this.axisWidth=a.height,"right"==a.position?(e=d.line(p,[0,0,-h],[0,n,n-k],e,g,c),k=m+k,c=c/2+f+h+q+l-1):(e=d.line(p,[0,0],[0,n],e,g,c),k=m,c=-c/2-f+l));e.translate(c,
95
+ k);c=b.container.set();c.push(e);b.axesSet.push(c);d.setCN(b,e,a.bcn+"line");this.axisSet=c;this.set=e}})})();(function(){var d=window.AmCharts;d.RecItem=d.Class({construct:function(a,b,c,e,g,f,h,k,l,m,n,q){b=Math.round(b);var p=a.chart;this.value=c;void 0==c&&(c="");l||(l=0);void 0==e&&(e=!0);var t=p.fontFamily,r=a.fontSize;void 0==r&&(r=p.fontSize);var w=a.color;void 0==w&&(w=p.color);void 0!==n&&(w=n);var z=a.chart.container,x=z.set();this.set=x;var u=a.axisThickness,A=a.axisColor,y=a.axisAlpha,B=a.tickLength,D=a.gridAlpha,C=a.gridThickness,I=a.gridColor,H=a.dashLength,Q=a.fillColor,M=a.fillAlpha,P=a.labelsEnabled;
96
+ n=a.labelRotationR;var ia=a.counter,J=a.inside,aa=a.labelOffset,ma=a.dx,na=a.dy,Pa=a.orientation,Z=a.position,da=a.previousCoord,X=a.height,xa=a.width,ea=a.offset,fa,Ba;h?(void 0!==h.id&&(q=p.classNamePrefix+"-guide-"+h.id),P=!0,isNaN(h.tickLength)||(B=h.tickLength),void 0!=h.lineColor&&(I=h.lineColor),void 0!=h.color&&(w=h.color),isNaN(h.lineAlpha)||(D=h.lineAlpha),isNaN(h.dashLength)||(H=h.dashLength),isNaN(h.lineThickness)||(C=h.lineThickness),!0===h.inside&&(J=!0,0<ea&&(ea=0)),isNaN(h.labelRotation)||
97
+ (n=h.labelRotation),isNaN(h.fontSize)||(r=h.fontSize),h.position&&(Z=h.position),void 0!==h.boldLabel&&(k=h.boldLabel),isNaN(h.labelOffset)||(aa=h.labelOffset)):""===c&&(B=0);m&&!isNaN(a.minorTickLength)&&(B=a.minorTickLength);var ga="start";0<g&&(ga="middle");a.centerLabels&&(ga="middle");var V=n*Math.PI/180,Y,Da,G=0,v=0,oa=0,ha=Y=0,Qa=0;"V"==Pa&&(n=0);var ca;P&&""!==c&&(ca=a.autoWrap&&0===n?d.wrappedText(z,c,w,t,r,ga,k,Math.abs(g),0):d.text(z,c,w,t,r,ga,k),ga=ca.getBBox(),ha=ga.width,Qa=ga.height);
98
+ if("H"==Pa){if(0<=b&&b<=xa+1&&(0<B&&0<y&&b+l<=xa+1&&(fa=d.line(z,[b+l,b+l],[0,B],A,y,C),x.push(fa)),0<D&&(Ba=d.line(z,[b,b+ma,b+ma],[X,X+na,na],I,D,C,H),x.push(Ba))),v=0,G=b,h&&90==n&&J&&(G-=r),!1===e?(ga="start",v="bottom"==Z?J?v+B:v-B:J?v-B:v+B,G+=3,0<g&&(G+=g/2-3,ga="middle"),0<n&&(ga="middle")):ga="middle",1==ia&&0<M&&!h&&!m&&da<xa&&(e=d.fitToBounds(b,0,xa),da=d.fitToBounds(da,0,xa),Y=e-da,0<Y&&(Da=d.rect(z,Y,a.height,Q,M),Da.translate(e-Y+ma,na),x.push(Da))),"bottom"==Z?(v+=X+r/2+ea,J?(0<n?(v=
99
+ X-ha/2*Math.sin(V)-B-3,a.centerRotatedLabels||(G+=ha/2*Math.cos(V)-4+2)):0>n?(v=X+ha*Math.sin(V)-B-3+2,G+=-ha*Math.cos(V)-Qa*Math.sin(V)-4):v-=B+r+3+3,v-=aa):(0<n?(v=X+ha/2*Math.sin(V)+B+3,a.centerRotatedLabels||(G-=ha/2*Math.cos(V))):0>n?(v=X+B+3-ha/2*Math.sin(V)+2,G+=ha/2*Math.cos(V)):v+=B+u+3+3,v+=aa)):(v+=na+r/2-ea,G+=ma,J?(0<n?(v=ha/2*Math.sin(V)+B+3,a.centerRotatedLabels||(G-=ha/2*Math.cos(V))):v+=B+3,v+=aa):(0<n?(v=-(ha/2)*Math.sin(V)-B-6,a.centerRotatedLabels||(G+=ha/2*Math.cos(V))):v-=B+
100
+ r+3+u+3,v-=aa)),"bottom"==Z?Y=(J?X-B-1:X+u-1)+ea:(oa=ma,Y=(J?na:na-B-u+1)-ea),f&&(G+=f),r=G,0<n&&(r+=ha/2*Math.cos(V)),ca&&(f=0,J&&(f=ha/2*Math.cos(V)),r+f>xa+2||0>r))ca.remove(),ca=null}else{0<=b&&b<=X+1&&(0<B&&0<y&&b+l<=X+1&&(fa=d.line(z,[0,B+1],[b+l,b+l],A,y,C),x.push(fa)),0<D&&(Ba=d.line(z,[0,ma,xa+ma],[b,b+na,b+na],I,D,C,H),x.push(Ba)));ga="end";if(!0===J&&"left"==Z||!1===J&&"right"==Z)ga="start";v=b-Qa/2+2;1==ia&&0<M&&!h&&!m&&(e=d.fitToBounds(b,0,X),da=d.fitToBounds(da,0,X),V=e-da,Da=d.polygon(z,
101
+ [0,a.width,a.width,0],[0,0,V,V],Q,M),Da.translate(ma,e-V+na),x.push(Da));v+=r/2;"right"==Z?(G+=ma+xa+ea,v+=na,J?(f||(v-=r/2+3),G=G-(B+4)-aa):(G+=B+4+u,v-=2,G+=aa)):J?(G+=B+4-ea,f||(v-=r/2+3),h&&(G+=ma,v+=na),G+=aa):(G+=-B-u-4-2-ea,v-=2,G-=aa);fa&&("right"==Z?(oa+=ma+ea+xa-1,Y+=na,oa=J?oa-u:oa+u):(oa-=ea,J||(oa-=B+u)));f&&(v+=f);J=-3;"right"==Z&&(J+=na);ca&&(v>X+1||v<J-r/10)&&(ca.remove(),ca=null)}fa&&(fa.translate(oa,Y),d.setCN(p,fa,a.bcn+"tick"),d.setCN(p,fa,q,!0),h&&d.setCN(p,fa,"guide"));!1===
102
+ a.visible&&(fa&&fa.remove(),ca&&(ca.remove(),ca=null));ca&&(ca.attr({"text-anchor":ga}),ca.translate(G,v,NaN,!0),0!==n&&ca.rotate(-n,a.chart.backgroundColor),a.allLabels.push(ca),this.label=ca,d.setCN(p,ca,a.bcn+"label"),d.setCN(p,ca,q,!0),h&&d.setCN(p,ca,"guide"));Ba&&(d.setCN(p,Ba,a.bcn+"grid"),d.setCN(p,Ba,q,!0),h&&d.setCN(p,Ba,"guide"));Da&&(d.setCN(p,Da,a.bcn+"fill"),d.setCN(p,Da,q,!0));m?Ba&&d.setCN(p,Ba,a.bcn+"grid-minor"):(a.counter=0===ia?1:0,a.previousCoord=b);0===this.set.node.childNodes.length&&
103
+ this.set.remove()},graphics:function(){return this.set},getLabel:function(){return this.label}})})();(function(){var d=window.AmCharts;d.RecFill=d.Class({construct:function(a,b,c,e){var g=a.dx,f=a.dy,h=a.orientation,k=0;if(c<b){var l=b;b=c;c=l}var m=e.fillAlpha;isNaN(m)&&(m=0);var l=a.chart.container,n=e.fillColor;"V"==h?(b=d.fitToBounds(b,0,a.height),c=d.fitToBounds(c,0,a.height)):(b=d.fitToBounds(b,0,a.width),c=d.fitToBounds(c,0,a.width));c-=b;isNaN(c)&&(c=4,k=2,m=0);0>c&&"object"==typeof n&&(n=n.join(",").split(",").reverse());"V"==h?(h=d.rect(l,a.width,c,n,m),h.translate(g,b-k+f)):(h=d.rect(l,
104
+ c,a.height,n,m),h.translate(b-k+g,f));d.setCN(a.chart,h,"guide-fill");e.id&&d.setCN(a.chart,h,"guide-fill-"+e.id);this.set=l.set([h])},graphics:function(){return this.set},getLabel:function(){}})})();(function(){var d=window.AmCharts;d.AmChart=d.Class({construct:function(a){this.svgIcons=this.tapToActivate=!0;this.theme=a;this.classNamePrefix="amcharts";this.addClassNames=!1;this.version="3.21.13";d.addChart(this);this.createEvents("buildStarted","dataUpdated","init","rendered","drawn","failed","resized","animationFinished");this.height=this.width="100%";this.dataChanged=!0;this.chartCreated=!1;this.previousWidth=this.previousHeight=0;this.backgroundColor="#FFFFFF";this.borderAlpha=this.backgroundAlpha=
105
+ 0;this.color=this.borderColor="#000000";this.fontFamily="Verdana";this.fontSize=11;this.usePrefixes=!1;this.autoResize=!0;this.autoDisplay=!1;this.addCodeCredits=this.accessible=!0;this.touchStartTime=this.touchClickDuration=0;this.precision=-1;this.percentPrecision=2;this.decimalSeparator=".";this.thousandsSeparator=",";this.labels=[];this.allLabels=[];this.titles=[];this.marginRight=this.marginLeft=this.autoMarginOffset=0;this.timeOuts=[];this.creditsPosition="top-left";var b=document.createElement("div"),
106
+ c=b.style;c.overflow="hidden";c.position="relative";c.textAlign="left";this.chartDiv=b;b=document.createElement("div");c=b.style;c.overflow="hidden";c.position="relative";c.textAlign="left";this.legendDiv=b;this.titleHeight=0;this.hideBalloonTime=150;this.handDrawScatter=2;this.cssScale=this.handDrawThickness=1;this.cssAngle=0;this.prefixesOfBigNumbers=[{number:1E3,prefix:"k"},{number:1E6,prefix:"M"},{number:1E9,prefix:"G"},{number:1E12,prefix:"T"},{number:1E15,prefix:"P"},{number:1E18,prefix:"E"},
107
+ {number:1E21,prefix:"Z"},{number:1E24,prefix:"Y"}];this.prefixesOfSmallNumbers=[{number:1E-24,prefix:"y"},{number:1E-21,prefix:"z"},{number:1E-18,prefix:"a"},{number:1E-15,prefix:"f"},{number:1E-12,prefix:"p"},{number:1E-9,prefix:"n"},{number:1E-6,prefix:"\u03bc"},{number:.001,prefix:"m"}];this.panEventsEnabled=!0;this.product="amcharts";this.animations=[];this.balloon=new d.AmBalloon(this.theme);this.balloon.chart=this;this.processTimeout=0;this.processCount=1E3;this.animatable=[];this.langObj={};
108
+ d.applyTheme(this,a,"AmChart")},drawChart:function(){0<this.realWidth&&0<this.realHeight&&(this.drawBackground(),this.redrawLabels(),this.drawTitles(),this.brr(),this.renderFix(),this.chartDiv&&(this.boundingRect=this.chartDiv.getBoundingClientRect()))},makeAccessible:function(a,b,c){this.accessible&&a&&(c&&a.setAttr("role",c),a.setAttr("aria-label",b))},drawBackground:function(){d.remove(this.background);var a=this.container,b=this.backgroundColor,c=this.backgroundAlpha,e=this.set;d.isModern||0!==
109
+ c||(c=.001);var g=this.updateWidth();this.realWidth=g;var f=this.updateHeight();this.realHeight=f;b=d.polygon(a,[0,g-1,g-1,0],[0,0,f-1,f-1],b,c,1,this.borderColor,this.borderAlpha);d.setCN(this,b,"bg");this.background=b;e.push(b);if(b=this.backgroundImage)a=a.image(b,0,0,g,f),d.setCN(this,b,"bg-image"),this.bgImg=a,e.push(a)},drawTitles:function(a){var b=this.titles;this.titleHeight=0;if(d.ifArray(b)){var c=20,e;for(e=0;e<b.length;e++){var g=b[e],g=d.processObject(g,d.Title,this.theme);if(!1!==g.enabled){var f=
110
+ g.color;void 0===f&&(f=this.color);var h=g.size;isNaN(h)&&(h=this.fontSize+2);isNaN(g.alpha);var k=this.marginLeft,l=!0;void 0!==g.bold&&(l=g.bold);f=d.wrappedText(this.container,g.text,f,this.fontFamily,h,"middle",l,this.realWidth-35-this.marginRight-k);f.translate(k+(this.realWidth-this.marginRight-k)/2,c);f.node.style.pointerEvents="none";g.sprite=f;void 0!==g.tabIndex&&f.setAttr("tabindex",g.tabIndex);d.setCN(this,f,"title");g.id&&d.setCN(this,f,"title-"+g.id);f.attr({opacity:g.alpha});c+=f.getBBox().height+
111
+ 5;a?f.remove():this.freeLabelsSet.push(f)}}this.titleHeight=c-10}},write:function(a){var b=this;if(b.listeners)for(var c=0;c<b.listeners.length;c++){var e=b.listeners[c];b.addListener(e.event,e.method)}b.fire({type:"buildStarted",chart:b});b.afterWriteTO&&clearTimeout(b.afterWriteTO);0<b.processTimeout?b.afterWriteTO=setTimeout(function(){b.afterWrite.call(b,a)},b.processTimeout):b.afterWrite(a)},afterWrite:function(a){var b;if(b="object"!=typeof a?document.getElementById(a):a){for(;b.firstChild;)b.removeChild(b.firstChild);
112
+ this.div=b;b.style.overflow="hidden";b.style.textAlign="left";a=this.chartDiv;var c=this.legendDiv,e=this.legend,g=c.style,f=a.style;this.measure();this.previousHeight=this.divRealHeight;this.previousWidth=this.divRealWidth;var h,k=document.createElement("div");h=k.style;h.position="relative";this.containerDiv=k;k.className=this.classNamePrefix+"-main-div";a.className=this.classNamePrefix+"-chart-div";b.appendChild(k);(b=this.exportConfig)&&d.AmExport&&!this.AmExport&&(this.AmExport=new d.AmExport(this,
113
+ b));this.amExport&&d.AmExport&&(this.AmExport=d.extend(this.amExport,new d.AmExport(this),!0));this.AmExport&&this.AmExport.init&&this.AmExport.init();if(e){e=this.addLegend(e,e.divId);if(e.enabled)switch(g.left=null,g.top=null,g.right=null,f.left=null,f.right=null,f.top=null,g.position="relative",f.position="relative",h.width="100%",h.height="100%",e.position){case "bottom":k.appendChild(a);k.appendChild(c);break;case "top":k.appendChild(c);k.appendChild(a);break;case "absolute":g.position="absolute";
114
+ f.position="absolute";void 0!==e.left&&(g.left=e.left+"px");void 0!==e.right&&(g.right=e.right+"px");void 0!==e.top&&(g.top=e.top+"px");void 0!==e.bottom&&(g.bottom=e.bottom+"px");e.marginLeft=0;e.marginRight=0;k.appendChild(a);k.appendChild(c);break;case "right":g.position="relative";f.position="absolute";k.appendChild(a);k.appendChild(c);break;case "left":g.position="absolute";f.position="relative";k.appendChild(a);k.appendChild(c);break;case "outside":k.appendChild(a)}else k.appendChild(a);this.prevLegendPosition=
115
+ e.position}else k.appendChild(a);this.listenersAdded||(this.addListeners(),this.listenersAdded=!0);(this.mouseWheelScrollEnabled||this.mouseWheelZoomEnabled)&&d.addWheelListeners();this.initChart()}},createLabelsSet:function(){d.remove(this.labelsSet);this.labelsSet=this.container.set();this.freeLabelsSet.push(this.labelsSet)},initChart:function(){this.balloon=d.processObject(this.balloon,d.AmBalloon,this.theme);window.AmCharts_path&&(this.path=window.AmCharts_path);void 0===this.path&&(this.path=
116
+ d.getPath());void 0===this.path&&(this.path="amcharts/");this.path=d.normalizeUrl(this.path);void 0===this.pathToImages&&(this.pathToImages=this.path+"images/");this.initHC||(d.callInitHandler(this),this.initHC=!0);d.applyLang(this.language,this);var a=this.numberFormatter;a&&(isNaN(a.precision)||(this.precision=a.precision),void 0!==a.thousandsSeparator&&(this.thousandsSeparator=a.thousandsSeparator),void 0!==a.decimalSeparator&&(this.decimalSeparator=a.decimalSeparator));(a=this.percentFormatter)&&
117
+ !isNaN(a.precision)&&(this.percentPrecision=a.precision);this.nf={precision:this.precision,thousandsSeparator:this.thousandsSeparator,decimalSeparator:this.decimalSeparator};this.pf={precision:this.percentPrecision,thousandsSeparator:this.thousandsSeparator,decimalSeparator:this.decimalSeparator};this.destroy();(a=this.container)?(a.container.innerHTML="",a.width=this.realWidth,a.height=this.realHeight,a.addDefs(this),this.chartDiv.appendChild(a.container)):a=new d.AmDraw(this.chartDiv,this.realWidth,
118
+ this.realHeight,this);this.container=a;this.extension=".png";this.svgIcons&&d.SVG&&(this.extension=".svg");this.checkDisplay();this.checkTransform(this.div);a.chart=this;d.VML||d.SVG?(a.handDrawn=this.handDrawn,a.handDrawScatter=this.handDrawScatter,a.handDrawThickness=this.handDrawThickness,d.remove(this.set),this.set=a.set(),d.remove(this.gridSet),this.gridSet=a.set(),d.remove(this.cursorLineSet),this.cursorLineSet=a.set(),d.remove(this.graphsBehindSet),this.graphsBehindSet=a.set(),d.remove(this.bulletBehindSet),
119
+ this.bulletBehindSet=a.set(),d.remove(this.columnSet),this.columnSet=a.set(),d.remove(this.graphsSet),this.graphsSet=a.set(),d.remove(this.trendLinesSet),this.trendLinesSet=a.set(),d.remove(this.axesSet),this.axesSet=a.set(),d.remove(this.cursorSet),this.cursorSet=a.set(),d.remove(this.scrollbarsSet),this.scrollbarsSet=a.set(),d.remove(this.bulletSet),this.bulletSet=a.set(),d.remove(this.freeLabelsSet),this.freeLabelsSet=a.set(),d.remove(this.axesLabelsSet),this.axesLabelsSet=a.set(),d.remove(this.balloonsSet),
120
+ this.balloonsSet=a.set(),d.remove(this.plotBalloonsSet),this.plotBalloonsSet=a.set(),d.remove(this.zoomButtonSet),this.zoomButtonSet=a.set(),d.remove(this.zbSet),this.zbSet=null,d.remove(this.linkSet),this.linkSet=a.set()):this.fire({type:"failed",chart:this})},premeasure:function(){var a=this.div;if(a){try{this.boundingRect=this.chartDiv.getBoundingClientRect()}catch(e){}var b=a.offsetWidth,c=a.offsetHeight;a.clientHeight&&(b=a.clientWidth,c=a.clientHeight);if(b!=this.mw||c!=this.mh)this.mw=b,this.mh=
121
+ c,this.measure()}},measure:function(){var a=this.div;if(a){var b=this.chartDiv,c=a.offsetWidth,e=a.offsetHeight,g=this.container;a.clientHeight&&(c=a.clientWidth,e=a.clientHeight);var e=Math.round(e),c=Math.round(c),a=Math.round(d.toCoordinate(this.width,c)),f=Math.round(d.toCoordinate(this.height,e));(c!=this.previousWidth||e!=this.previousHeight)&&0<a&&0<f&&(b.style.width=a+"px",b.style.height=f+"px",b.style.padding=0,g&&g.setSize(a,f),this.balloon=d.processObject(this.balloon,d.AmBalloon,this.theme));
122
+ this.balloon&&this.balloon.setBounds&&this.balloon.setBounds(2,2,a-2,f);this.updateWidth();this.balloon.chart=this;this.realWidth=a;this.realHeight=f;this.divRealWidth=c;this.divRealHeight=e}},checkDisplay:function(){if(this.autoDisplay&&this.container){var a=d.rect(this.container,10,10),b=a.getBBox();0===b.width&&0===b.height&&(this.divRealHeight=this.divRealWidth=this.realHeight=this.realWidth=0,this.previousWidth=this.previousHeight=NaN);a.remove()}},checkTransform:function(a){if(this.autoTransform&&
123
+ window.getComputedStyle&&a){if(a.style){var b=window.getComputedStyle(a,null);if(b&&(b=b.getPropertyValue("-webkit-transform")||b.getPropertyValue("-moz-transform")||b.getPropertyValue("-ms-transform")||b.getPropertyValue("-o-transform")||b.getPropertyValue("transform"))&&"none"!==b){var c=b.split("(")[1].split(")")[0].split(","),b=c[0],c=c[1],b=Math.sqrt(b*b+c*c);isNaN(b)||(this.cssScale*=b)}}a.parentNode&&this.checkTransform(a.parentNode)}},destroy:function(){this.chartDiv.innerHTML="";this.clearTimeOuts();
124
+ this.legend&&this.legend.destroy()},clearTimeOuts:function(){var a=this.timeOuts;if(a){var b;for(b=0;b<a.length;b++)clearTimeout(a[b])}this.timeOuts=[]},clear:function(a){try{document.removeEventListener("touchstart",this.docfn1,!0),document.removeEventListener("touchend",this.docfn2,!0)}catch(b){}d.callMethod("clear",[this.chartScrollbar,this.scrollbarV,this.scrollbarH,this.chartCursor]);this.chartCursor=this.scrollbarH=this.scrollbarV=this.chartScrollbar=null;this.clearTimeOuts();this.container&&
125
+ (this.container.remove(this.chartDiv),this.container.remove(this.legendDiv));a||d.removeChart(this);if(a=this.div)for(;a.firstChild;)a.removeChild(a.firstChild);this.legend&&this.legend.destroy();this.AmExport&&this.AmExport.clear&&this.AmExport.clear()},setMouseCursor:function(a){"auto"==a&&d.isNN&&(a="default");this.chartDiv.style.cursor=a;this.legendDiv.style.cursor=a},redrawLabels:function(){this.labels=[];var a=this.allLabels;this.createLabelsSet();var b;for(b=0;b<a.length;b++)this.drawLabel(a[b])},
126
+ drawLabel:function(a){var b=this;if(b.container&&!1!==a.enabled){a=d.processObject(a,d.Label,b.theme);var c=a.y,e=a.text,g=a.align,f=a.size,h=a.color,k=a.rotation,l=a.alpha,m=a.bold,n=d.toCoordinate(a.x,b.realWidth),c=d.toCoordinate(c,b.realHeight);n||(n=0);c||(c=0);void 0===h&&(h=b.color);isNaN(f)&&(f=b.fontSize);g||(g="start");"left"==g&&(g="start");"right"==g&&(g="end");"center"==g&&(g="middle",k?c=b.realHeight-c+c/2:n=b.realWidth/2-n);void 0===l&&(l=1);void 0===k&&(k=0);c+=f/2;e=d.text(b.container,
127
+ e,h,b.fontFamily,f,g,m,l);e.translate(n,c);void 0!==a.tabIndex&&e.setAttr("tabindex",a.tabIndex);d.setCN(b,e,"label");a.id&&d.setCN(b,e,"label-"+a.id);0!==k&&e.rotate(k);a.url?(e.setAttr("cursor","pointer"),e.click(function(){d.getURL(a.url,b.urlTarget)})):e.node.style.pointerEvents="none";b.labelsSet.push(e);b.labels.push(e)}},addLabel:function(a,b,c,e,d,f,h,k,l,m){a={x:a,y:b,text:c,align:e,size:d,color:f,alpha:k,rotation:h,bold:l,url:m,enabled:!0};this.container&&this.drawLabel(a);this.allLabels.push(a)},
128
+ clearLabels:function(){var a=this.labels,b;for(b=a.length-1;0<=b;b--)a[b].remove();this.labels=[];this.allLabels=[]},updateHeight:function(){var a=this.divRealHeight,b=this.legend;if(b){var c=this.legendDiv.offsetHeight,b=b.position;if("top"==b||"bottom"==b){a-=c;if(0>a||isNaN(a))a=0;this.chartDiv.style.height=a+"px"}}return a},updateWidth:function(){var a=this.divRealWidth,b=this.divRealHeight,c=this.legend;if(c){var e=this.legendDiv,d=e.offsetWidth;isNaN(c.width)||(d=c.width);c.ieW&&(d=c.ieW);var f=
129
+ e.offsetHeight,e=e.style,h=this.chartDiv.style,k=c.position;if(("right"==k||"left"==k)&&void 0===c.divId){a-=d;if(0>a||isNaN(a))a=0;h.width=a+"px";this.balloon&&this.balloon.setBounds&&this.balloon.setBounds(2,2,a-2,this.realHeight);"left"==k?(h.left=d+"px",e.left="0px"):(h.left="0px",e.left=a+"px");b>f&&(e.top=(b-f)/2+"px")}}return a},getTitleHeight:function(){this.drawTitles(!0);return this.titleHeight},addTitle:function(a,b,c,e,d){isNaN(b)&&(b=this.fontSize+2);a={text:a,size:b,color:c,alpha:e,
130
+ bold:d,enabled:!0};this.titles.push(a);return a},handleWheel:function(a){var b=0;a||(a=window.event);a.wheelDelta?b=a.wheelDelta/120:a.detail&&(b=-a.detail/3);b&&this.handleWheelReal(b,a.shiftKey);a.preventDefault&&a.preventDefault()},handleWheelReal:function(){},handleDocTouchStart:function(){this.handleMouseMove();this.tmx=this.mouseX;this.tmy=this.mouseY;this.touchStartTime=(new Date).getTime()},handleDocTouchEnd:function(){-.5<this.tmx&&this.tmx<this.divRealWidth+1&&0<this.tmy&&this.tmy<this.divRealHeight?
131
+ (this.handleMouseMove(),4>Math.abs(this.mouseX-this.tmx)&&4>Math.abs(this.mouseY-this.tmy)?(this.tapped=!0,this.panRequired&&this.panEventsEnabled&&this.chartDiv&&(this.chartDiv.style.msTouchAction="none",this.chartDiv.style.touchAction="none")):this.mouseIsOver||this.resetTouchStyle()):(this.tapped=!1,this.resetTouchStyle())},resetTouchStyle:function(){this.panEventsEnabled&&this.chartDiv&&(this.chartDiv.style.msTouchAction="auto",this.chartDiv.style.touchAction="auto")},checkTouchDuration:function(a){var b=
132
+ this,c=(new Date).getTime();if(a)if(a.touches)b.isTouchEvent=!0;else if(!b.isTouchEvent)return!0;if(c-b.touchStartTime>b.touchClickDuration)return!0;setTimeout(function(){b.resetTouchDuration()},300)},resetTouchDuration:function(){this.isTouchEvent=!1},checkTouchMoved:function(){if(4<Math.abs(this.mouseX-this.tmx)||4<Math.abs(this.mouseY-this.tmy))return!0},addListeners:function(){var a=this,b=a.chartDiv;document.addEventListener?("ontouchstart"in document.documentElement&&(b.addEventListener("touchstart",
133
+ function(b){a.handleTouchStart.call(a,b)},!0),b.addEventListener("touchmove",function(b){a.handleMouseMove.call(a,b)},!0),b.addEventListener("touchend",function(b){a.handleTouchEnd.call(a,b)},!0),a.docfn1=function(b){a.handleDocTouchStart.call(a,b)},a.docfn2=function(b){a.handleDocTouchEnd.call(a,b)},document.addEventListener("touchstart",a.docfn1,!0),document.addEventListener("touchend",a.docfn2,!0)),b.addEventListener("mousedown",function(b){a.mouseIsOver=!0;a.handleMouseMove.call(a,b);a.handleMouseDown.call(a,
134
+ b);a.handleDocTouchStart.call(a,b)},!0),b.addEventListener("mouseover",function(b){a.handleMouseOver.call(a,b)},!0),b.addEventListener("mouseout",function(b){a.handleMouseOut.call(a,b)},!0),b.addEventListener("mouseup",function(b){a.handleDocTouchEnd.call(a,b)},!0)):(b.attachEvent("onmousedown",function(b){a.handleMouseDown.call(a,b)}),b.attachEvent("onmouseover",function(b){a.handleMouseOver.call(a,b)}),b.attachEvent("onmouseout",function(b){a.handleMouseOut.call(a,b)}))},dispDUpd:function(){this.skipEvents||
135
+ (this.dispatchDataUpdated&&(this.dispatchDataUpdated=!1,this.fire({type:"dataUpdated",chart:this})),this.chartCreated||(this.chartCreated=!0,this.fire({type:"init",chart:this})),this.chartRendered||(this.fire({type:"rendered",chart:this}),this.chartRendered=!0),this.fire({type:"drawn",chart:this}));this.skipEvents=!1},validateSize:function(){var a=this;a.premeasure();a.checkDisplay();a.cssScale=1;a.cssAngle=0;a.checkTransform(a.div);if(a.divRealWidth!=a.previousWidth||a.divRealHeight!=a.previousHeight){var b=
136
+ a.legend;if(0<a.realWidth&&0<a.realHeight){a.sizeChanged=!0;if(b){a.legendInitTO&&clearTimeout(a.legendInitTO);var c=setTimeout(function(){b.invalidateSize()},10);a.timeOuts.push(c);a.legendInitTO=c}a.marginsUpdated=!1;clearTimeout(a.initTO);c=setTimeout(function(){a.initChart()},10);a.timeOuts.push(c);a.initTO=c}a.renderFix();b&&b.renderFix&&b.renderFix();a.positionCred();clearTimeout(a.resizedTO);a.resizedTO=setTimeout(function(){a.fire({type:"resized",chart:a})},10);a.previousHeight=a.divRealHeight;
137
+ a.previousWidth=a.divRealWidth}},invalidateSize:function(){this.previousHeight=this.previousWidth=NaN;this.invalidateSizeReal()},invalidateSizeReal:function(){var a=this;a.marginsUpdated=!1;clearTimeout(a.validateTO);var b=setTimeout(function(){a.validateSize()},5);a.timeOuts.push(b);a.validateTO=b},validateData:function(a){this.chartCreated&&(this.dataChanged=!0,this.marginsUpdated=!1,this.initChart(a))},validateNow:function(a,b){this.initTO&&clearTimeout(this.initTO);a&&(this.dataChanged=!0,this.marginsUpdated=
138
+ !1);this.skipEvents=b;this.chartRendered=!1;var c=this.legend;c&&c.position!=this.prevLegendPosition&&(this.previousWidth=this.mw=0,c.invalidateSize&&(c.invalidateSize(),this.validateSize()));this.write(this.div)},showItem:function(a){a.hidden=!1;this.initChart()},hideItem:function(a){a.hidden=!0;this.initChart()},hideBalloon:function(){var a=this;clearTimeout(a.hoverInt);clearTimeout(a.balloonTO);a.hoverInt=setTimeout(function(){a.hideBalloonReal.call(a)},a.hideBalloonTime)},cleanChart:function(){},
139
+ hideBalloonReal:function(){var a=this.balloon;a&&a.hide&&a.hide()},showBalloon:function(a,b,c,e,d){var f=this;clearTimeout(f.balloonTO);clearTimeout(f.hoverInt);f.balloonTO=setTimeout(function(){f.showBalloonReal.call(f,a,b,c,e,d)},1)},showBalloonReal:function(a,b,c,e,d){this.handleMouseMove();var f=this.balloon;f.enabled&&(f.followCursor(!1),f.changeColor(b),!c||f.fixedPosition?(f.setPosition(e,d),isNaN(e)||isNaN(d)?f.followCursor(!0):f.followCursor(!1)):f.followCursor(!0),a&&f.showBalloon(a))},
140
+ handleMouseOver:function(){this.outTO&&clearTimeout(this.outTO);d.resetMouseOver();this.mouseIsOver=!0},handleMouseOut:function(){var a=this;d.resetMouseOver();a.outTO&&clearTimeout(a.outTO);a.outTO=setTimeout(function(){a.handleMouseOutReal()},10)},handleMouseOutReal:function(){this.mouseIsOver=!1},handleMouseMove:function(a){a||(a=window.event);this.mouse2Y=this.mouse2X=NaN;var b,c,e,d;if(a){if(a.touches){var f=a.touches.item(1);f&&this.panEventsEnabled&&this.boundingRect&&(e=f.clientX-this.boundingRect.left,
141
+ d=f.clientY-this.boundingRect.top);a=a.touches.item(0);if(!a)return}else this.wasTouched=!1;this.boundingRect&&a.clientX&&(b=a.clientX-this.boundingRect.left,c=a.clientY-this.boundingRect.top);isNaN(e)?this.mouseX=b:(this.mouseX=Math.min(b,e),this.mouse2X=Math.max(b,e));isNaN(d)?this.mouseY=c:(this.mouseY=Math.min(c,d),this.mouse2Y=Math.max(c,d));this.autoTransform&&(this.mouseX/=this.cssScale,this.mouseY/=this.cssScale)}},handleTouchStart:function(a){this.hideBalloonReal();a&&(a.touches&&this.tapToActivate&&
142
+ !this.tapped||!this.panRequired)||(this.handleMouseMove(a),this.handleMouseDown(a))},handleTouchEnd:function(a){this.wasTouched=!0;this.handleMouseMove(a);d.resetMouseOver();this.handleReleaseOutside(a)},handleReleaseOutside:function(){this.handleDocTouchEnd.call(this)},handleMouseDown:function(a){d.resetMouseOver();this.mouseIsOver=!0;a&&a.preventDefault&&(this.panEventsEnabled?a.preventDefault():a.touches||a.preventDefault())},addLegend:function(a,b){a=d.processObject(a,d.AmLegend,this.theme);a.divId=
143
+ b;a.ieW=0;var c;c="object"!=typeof b&&b?document.getElementById(b):b;this.legend=a;a.chart=this;c?(a.div=c,a.position="outside",a.autoMargins=!1):a.div=this.legendDiv;return a},removeLegend:function(){this.legend=void 0;this.previousWidth=0;this.legendDiv.innerHTML=""},handleResize:function(){(d.isPercents(this.width)||d.isPercents(this.height))&&this.invalidateSizeReal();this.renderFix()},renderFix:function(){if(!d.VML){var a=this.container;a&&a.renderFix()}},getSVG:function(){if(d.hasSVG)return this.container},
144
+ animate:function(a,b,c,e,g,f,h){a["an_"+b]&&d.removeFromArray(this.animations,a["an_"+b]);c={obj:a,frame:0,attribute:b,from:c,to:e,time:g,effect:f,suffix:h};a["an_"+b]=c;this.animations.push(c);return c},setLegendData:function(a){var b=this.legend;b&&b.setData(a)},stopAnim:function(a){d.removeFromArray(this.animations,a)},updateAnimations:function(){var a;this.container&&this.container.update();if(this.animations)for(a=this.animations.length-1;0<=a;a--){var b=this.animations[a],c=d.updateRate*b.time,
145
+ e=b.frame+1,g=b.obj,f=b.attribute;if(e<=c){b.frame++;var h=Number(b.from),k=Number(b.to)-h,c=d[b.effect](0,e,h,k,c);0===k?(this.animations.splice(a,1),g.node.style[f]=Number(b.to)+b.suffix):g.node.style[f]=c+b.suffix}else g.node.style[f]=Number(b.to)+b.suffix,g.animationFinished=!0,this.animations.splice(a,1)}},update:function(){this.updateAnimations();var a=this.animatable;if(0<a.length){for(var b=!0,c=a.length-1;0<=c;c--){var e=a[c];e&&(e.animationFinished?a.splice(c,1):b=!1)}b&&(this.fire({type:"animationFinished",
146
+ chart:this}),this.animatable=[])}},inIframe:function(){try{return window.self!==window.top}catch(a){return!0}},brr:function(){if(!this.hideCredits){var a="amcharts.com",b=window.location.hostname.split("."),c;2<=b.length&&(c=b[b.length-2]+"."+b[b.length-1]);this.amLink&&(b=this.amLink.parentNode)&&b.removeChild(this.amLink);if(c!=a||!0===this.inIframe()){c=a="http://www."+a;var b="JavaScript charts",e="JS chart by amCharts";"ammap"==this.product&&(c=a+"/javascript-maps/",b="Interactive JavaScript maps",
147
+ e="JS map by amCharts");a=document.createElement("a");e=document.createTextNode(e);a.setAttribute("href",c);a.setAttribute("title",b);this.urlTarget&&a.setAttribute("target",this.urlTarget);a.appendChild(e);this.chartDiv.appendChild(a);this.amLink=a;a=a.style;a.position="absolute";a.textDecoration="none";a.color=this.color;a.fontFamily=this.fontFamily;a.fontSize="11px";a.opacity=.7;a.display="block";this.positionCred()}}},positionCred:function(){var a=this.amLink;if(a){var b=this.creditsPosition,
148
+ c=a.style,e=a.offsetWidth,a=a.offsetHeight,d=0,f=0,h=this.realWidth,k=this.realHeight,l=this.type;if("serial"==l||"xy"==l||"gantt"==l)d=this.marginLeftReal,f=this.marginTopReal,h=d+this.plotAreaWidth,k=f+this.plotAreaHeight;var l=5+d,m=f+5;"bottom-left"==b&&(l=5+d,m=k-a-3);"bottom-right"==b&&(l=h-e-5,m=k-a-3);"top-right"==b&&(l=h-e-5,m=f+5);c.left=l+"px";c.top=m+"px"}}});d.Slice=d.Class({construct:function(){}});d.SerialDataItem=d.Class({construct:function(){}});d.GraphDataItem=d.Class({construct:function(){}});
149
+ d.Guide=d.Class({construct:function(a){this.cname="Guide";d.applyTheme(this,a,this.cname)}});d.Title=d.Class({construct:function(a){this.cname="Title";d.applyTheme(this,a,this.cname)}});d.Label=d.Class({construct:function(a){this.cname="Label";d.applyTheme(this,a,this.cname)}})})();(function(){var d=window.AmCharts;d.AmGraph=d.Class({construct:function(a){this.cname="AmGraph";this.createEvents("rollOverGraphItem","rollOutGraphItem","clickGraphItem","doubleClickGraphItem","rightClickGraphItem","clickGraph","rollOverGraph","rollOutGraph");this.type="line";this.stackable=!0;this.columnCount=1;this.columnIndex=0;this.centerCustomBullets=this.showBalloon=!0;this.maxBulletSize=50;this.minBulletSize=4;this.balloonText="[[value]]";this.hidden=this.scrollbar=this.animationPlayed=!1;
150
+ this.pointPosition="middle";this.depthCount=1;this.includeInMinMax=!0;this.negativeBase=0;this.visibleInLegend=!0;this.showAllValueLabels=!1;this.showBulletsAt=this.showBalloonAt="close";this.lineThickness=1;this.dashLength=0;this.connect=!0;this.lineAlpha=1;this.bullet="none";this.bulletBorderThickness=2;this.bulletBorderAlpha=0;this.bulletAlpha=1;this.bulletSize=8;this.cornerRadiusTop=this.hideBulletsCount=this.bulletOffset=0;this.cursorBulletAlpha=1;this.gradientOrientation="vertical";this.dy=
151
+ this.dx=0;this.periodValue="";this.clustered=!0;this.periodSpan=1;this.accessibleLabel="[[title]] [[category]] [[value]]";this.accessibleSkipText="Press enter to skip [[title]]";this.y=this.x=0;this.switchable=!0;this.minDistance=.8;this.tcc=1;this.labelRotation=0;this.labelAnchor="auto";this.labelOffset=3;this.bcn="graph-";this.dateFormat="MMM DD, YYYY";this.noRounding=!0;d.applyTheme(this,a,this.cname)},init:function(){this.createBalloon()},draw:function(){var a=this.chart;a.isRolledOverBullet=
152
+ !1;var b=a.type;if(a.drawGraphs){isNaN(this.precision)||(this.numberFormatter?this.numberFormatter.precision=this.precision:this.numberFormatter={precision:this.precision,decimalSeparator:a.decimalSeparator,thousandsSeparator:a.thousandsSeparator});var c=a.container;this.container=c;this.destroy();var e=c.set();this.set=e;e.translate(this.x,this.y);var g=c.set();this.bulletSet=g;g.translate(this.x,this.y);this.behindColumns?(a.graphsBehindSet.push(e),a.bulletBehindSet.push(g)):(a.graphsSet.push(e),
153
+ a.bulletSet.push(g));var f=this.bulletAxis;d.isString(f)&&(this.bulletAxis=a.getValueAxisById(f));c=c.set();d.remove(this.columnsSet);this.columnsSet=c;d.setCN(a,e,"graph-"+this.type);d.setCN(a,e,"graph-"+this.id);d.setCN(a,g,"graph-"+this.type);d.setCN(a,g,"graph-"+this.id);this.columnsArray=[];this.ownColumns=[];this.allBullets=[];this.animationArray=[];g=this.labelPosition;g||(f=this.valueAxis.stackType,g="top","column"==this.type&&(a.rotate&&(g="right"),"100%"==f||"regular"==f)&&(g="middle"),
154
+ this.labelPosition=g);d.ifArray(this.data)&&(a=!1,"xy"==b?this.xAxis.axisCreated&&this.yAxis.axisCreated&&(a=!0):this.valueAxis.axisCreated&&(a=!0),!this.hidden&&a&&this.createGraph());e.push(c)}},createGraph:function(){var a=this,b=a.chart;a.startAlpha=b.startAlpha;a.seqAn=b.sequencedAnimation;a.baseCoord=a.valueAxis.baseCoord;void 0===a.fillAlphas&&(a.fillAlphas=0);a.bulletColorR=a.bulletColor;void 0===a.bulletColorR&&(a.bulletColorR=a.lineColorR,a.bulletColorNegative=a.negativeLineColor);void 0===
155
+ a.bulletAlpha&&(a.bulletAlpha=a.lineAlpha);if("step"==c||d.VML)a.noRounding=!1;var c=b.type;"gantt"==c&&(c="serial");clearTimeout(a.playedTO);if(!isNaN(a.valueAxis.min)&&!isNaN(a.valueAxis.max)){switch(c){case "serial":a.categoryAxis&&(a.createSerialGraph(),"candlestick"==a.type&&1>a.valueAxis.minMaxMultiplier&&a.positiveClip(a.set));break;case "radar":a.createRadarGraph();break;case "xy":a.createXYGraph()}a.playedTO=setTimeout(function(){a.setAnimationPlayed.call(a)},500*a.chart.startDuration)}},
156
+ setAnimationPlayed:function(){this.animationPlayed=!0},createXYGraph:function(){var a=[],b=[],c=this.xAxis,e=this.yAxis;this.pmh=e.height;this.pmw=c.width;this.pmy=this.pmx=0;var d;for(d=this.start;d<=this.end;d++){var f=this.data[d].axes[c.id].graphs[this.id],h=f.values,k=h.x,l=h.y,h=c.getCoordinate(k,this.noRounding),m=e.getCoordinate(l,this.noRounding);if(!isNaN(k)&&!isNaN(l)&&(a.push(h),b.push(m),f.x=h,f.y=m,k=this.createBullet(f,h,m,d),l=this.labelText)){var l=this.createLabel(f,l),n=0;k&&(n=
157
+ k.size);this.positionLabel(f,h,m,l,n)}}this.drawLineGraph(a,b);this.launchAnimation()},createRadarGraph:function(){var a=this.valueAxis.stackType,b=[],c=[],e=[],d=[],f,h,k,l,m;for(m=this.start;m<=this.end;m++){var n=this.data[m].axes[this.valueAxis.id].graphs[this.id],q,p;"none"==a||"3d"==a?q=n.values.value:(q=n.values.close,p=n.values.open);if(isNaN(q))this.connect||(this.drawLineGraph(b,c,e,d),b=[],c=[],e=[],d=[]);else{var t=this.valueAxis.getCoordinate(q,this.noRounding)-this.height,t=t*this.valueAxis.rMultiplier,
158
+ r=-360/(this.end-this.start+1)*m;"middle"==this.valueAxis.pointPosition&&(r-=180/(this.end-this.start+1));q=t*Math.sin(r/180*Math.PI);t*=Math.cos(r/180*Math.PI);b.push(q);c.push(t);if(!isNaN(p)){var w=this.valueAxis.getCoordinate(p,this.noRounding)-this.height,w=w*this.valueAxis.rMultiplier,z=w*Math.sin(r/180*Math.PI),r=w*Math.cos(r/180*Math.PI);e.push(z);d.push(r);isNaN(k)&&(k=z);isNaN(l)&&(l=r)}r=this.createBullet(n,q,t,m);n.x=q;n.y=t;if(z=this.labelText)z=this.createLabel(n,z),w=0,r&&(w=r.size),
159
+ this.positionLabel(n,q,t,z,w);isNaN(f)&&(f=q);isNaN(h)&&(h=t)}}b.push(f);c.push(h);isNaN(k)||(e.push(k),d.push(l));this.drawLineGraph(b,c,e,d);this.launchAnimation()},positionLabel:function(a,b,c,e,d){if(e){var f=this.chart,h=this.valueAxis,k="middle",l=!1,m=this.labelPosition,n=e.getBBox(),q=this.chart.rotate,p=a.isNegative,t=this.fontSize;void 0===t&&(t=this.chart.fontSize);c-=n.height/2-t/2-1;void 0!==a.labelIsNegative&&(p=a.labelIsNegative);switch(m){case "right":m=q?p?"left":"right":"right";
160
+ break;case "top":m=q?"top":p?"bottom":"top";break;case "bottom":m=q?"bottom":p?"top":"bottom";break;case "left":m=q?p?"right":"left":"left"}var t=a.columnGraphics,r=0,w=0;t&&(r=t.x,w=t.y);var z=this.labelOffset;switch(m){case "right":k="start";b+=d/2+z;break;case "top":c=h.reversed?c+(d/2+n.height/2+z):c-(d/2+n.height/2+z);break;case "bottom":c=h.reversed?c-(d/2+n.height/2+z):c+(d/2+n.height/2+z);break;case "left":k="end";b-=d/2+z;break;case "inside":"column"==this.type&&(l=!0,q?p?(k="end",b=r-3-
161
+ z):(k="start",b=r+3+z):c=p?w+7+z:w-10-z);break;case "middle":"column"==this.type&&(l=!0,q?b-=(b-r)/2+z-3:c-=(c-w)/2+z-3)}"auto"!=this.labelAnchor&&(k=this.labelAnchor);e.attr({"text-anchor":k});this.labelRotation&&e.rotate(this.labelRotation);e.translate(b,c);!this.showAllValueLabels&&t&&l&&(n=e.getBBox(),n.height>a.columnHeight||n.width>a.columnWidth)&&(e.remove(),e=null);if(e&&"radar"!=f.type)if(q){if(0>c||c>this.height)e.remove(),e=null;!this.showAllValueLabels&&e&&(0>b||b>this.width)&&(e.remove(),
162
+ e=null)}else{if(0>b||b>this.width)e.remove(),e=null;!this.showAllValueLabels&&e&&(0>c||c>this.height)&&(e.remove(),e=null)}e&&this.allBullets.push(e);return e}},getGradRotation:function(){var a=270;"horizontal"==this.gradientOrientation&&(a=0);return this.gradientRotation=a},createSerialGraph:function(){this.dashLengthSwitched=this.fillColorsSwitched=this.lineColorSwitched=void 0;var a=this.chart,b=this.id,c=this.index,e=this.data,g=this.chart.container,f=this.valueAxis,h=this.type,k=this.columnWidthReal,
163
+ l=this.showBulletsAt;isNaN(this.columnWidth)||(k=this.columnWidth);isNaN(k)&&(k=.8);var m=this.useNegativeColorIfDown,n=this.width,q=this.height,p=this.y,t=this.rotate,r=this.columnCount,w=d.toCoordinate(this.cornerRadiusTop,k/2),z=this.connect,x=[],u=[],A,y,B,D,C=this.chart.graphs.length,I,H=this.dx/this.tcc,Q=this.dy/this.tcc,M=f.stackType,P=this.start,ia=this.end,J=this.scrollbar,aa="graph-column-";J&&(aa="scrollbar-graph-column-");var ma=this.categoryAxis,na=this.baseCoord,Pa=this.negativeBase,
164
+ Z=this.columnIndex,da=this.lineThickness,X=this.lineAlpha,xa=this.lineColorR,ea=this.dashLength,fa=this.set,Ba,ga=this.getGradRotation(),V=this.chart.columnSpacing,Y=ma.cellWidth,Da=(Y*k-r)/r;V>Da&&(V=Da);var G,v,oa,ha=q,Qa=n,ca=0,tb=0,ub=0,vb=0,lb=0,mb=0,wb=this.fillColorsR,Ra=this.negativeFillColors,Ja=this.negativeLineColor,bb=this.fillAlphas,cb=this.negativeFillAlphas;"object"==typeof bb&&(bb=bb[0]);"object"==typeof cb&&(cb=cb[0]);var xb=this.noRounding;"step"==h&&(xb=!1);var nb=f.getCoordinate(f.min);
165
+ f.logarithmic&&(nb=f.getCoordinate(f.minReal));this.minCoord=nb;this.resetBullet&&(this.bullet="none");if(!(J||"line"!=h&&"smoothedLine"!=h&&"step"!=h||(1==e.length&&"step"!=h&&"none"==this.bullet&&(this.bullet="round",this.resetBullet=!0),!Ra&&void 0==Ja||m))){var Ua=Pa;Ua>f.max&&(Ua=f.max);Ua<f.min&&(Ua=f.min);f.logarithmic&&(Ua=f.minReal);var Ka=f.getCoordinate(Ua)+.5,Mb=f.getCoordinate(f.max);t?(ha=q,Qa=Math.abs(Mb-Ka),ub=q,vb=Math.abs(nb-Ka),mb=tb=0,f.reversed?(ca=0,lb=Ka):(ca=Ka,lb=0)):(Qa=
166
+ n,ha=Math.abs(Mb-Ka),vb=n,ub=Math.abs(nb-Ka),lb=ca=0,f.reversed?(mb=p,tb=Ka):mb=Ka)}var La=Math.round;this.pmx=La(ca);this.pmy=La(tb);this.pmh=La(ha);this.pmw=La(Qa);this.nmx=La(lb);this.nmy=La(mb);this.nmh=La(ub);this.nmw=La(vb);d.isModern||(this.nmy=this.nmx=0,this.nmh=this.height);this.clustered||(r=1);k="column"==h?(Y*k-V*(r-1))/r:Y*k;1>k&&(k=1);var Nb=this.fixedColumnWidth;isNaN(Nb)||(k=Nb);var L;if("line"==h||"step"==h||"smoothedLine"==h){if(0<P){for(L=P-1;-1<L;L--)if(G=e[L],v=G.axes[f.id].graphs[b],
167
+ oa=v.values.value,!isNaN(oa)){P=L;break}if(this.lineColorField)for(L=P;-1<L;L--)if(G=e[L],v=G.axes[f.id].graphs[b],v.lineColor){this.lineColorSwitched=v.lineColor;void 0===this.bulletColor&&(this.bulletColorSwitched=this.lineColorSwitched);break}if(this.fillColorsField)for(L=P;-1<L;L--)if(G=e[L],v=G.axes[f.id].graphs[b],v.fillColors){this.fillColorsSwitched=v.fillColors;break}if(this.dashLengthField)for(L=P;-1<L;L--)if(G=e[L],v=G.axes[f.id].graphs[b],!isNaN(v.dashLength)){this.dashLengthSwitched=
168
+ v.dashLength;break}}if(ia<e.length-1)for(L=ia+1;L<e.length;L++)if(G=e[L],v=G.axes[f.id].graphs[b],oa=v.values.value,!isNaN(oa)){ia=L;break}}ia<e.length-1&&ia++;var T=[],U=[],Ma=!1;if("line"==h||"step"==h||"smoothedLine"==h)if(this.stackable&&"regular"==M||"100%"==M||this.fillToGraph)Ma=!0;var Ob=this.noStepRisers,db=-1E3,eb=-1E3,ob=this.minDistance,Sa=!0,Va=!1;for(L=P;L<=ia;L++){G=e[L];v=G.axes[f.id].graphs[b];v.index=L;var fb,Ta=NaN;if(m&&void 0==this.openField)for(var yb=L+1;yb<e.length&&(!e[yb]||
169
+ !(fb=e[L+1].axes[f.id].graphs[b])||!fb.values||(Ta=fb.values.value,isNaN(Ta)));yb++);var S,R,K,ba,ja=NaN,E=NaN,F=NaN,O=NaN,N=NaN,qa=NaN,ra=NaN,sa=NaN,ta=NaN,ya=NaN,Ea=NaN,ka=NaN,la=NaN,W=NaN,zb=NaN,Ab=NaN,ua=NaN,va=void 0,Na=wb,Wa=bb,Ha=xa,Ca,za,Bb=this.proCandlesticks,pb=this.topRadius,Fa=q-1,pa=n-1,gb=this.pattern;void 0!=v.pattern&&(gb=v.pattern);isNaN(v.alpha)||(Wa=v.alpha);isNaN(v.dashLength)||(ea=v.dashLength);var Ia=v.values;f.recalculateToPercents&&(Ia=v.percents);"none"==M&&(Z=isNaN(v.columnIndex)?
170
+ this.columnIndex:v.columnIndex);if(Ia){W=this.stackable&&"none"!=M&&"3d"!=M?Ia.close:Ia.value;if("candlestick"==h||"ohlc"==h)W=Ia.close,Ab=Ia.low,ra=f.getCoordinate(Ab),zb=Ia.high,ta=f.getCoordinate(zb);ua=Ia.open;F=f.getCoordinate(W,xb);isNaN(ua)||(N=f.getCoordinate(ua,xb),m&&"regular"!=M&&"100%"!=M&&(Ta=ua,ua=N=NaN));m&&(void 0==this.openField?fb&&(fb.isNegative=Ta<W?!0:!1,isNaN(Ta)&&(v.isNegative=!Sa)):v.isNegative=Ta>W?!0:!1);if(!J)switch(this.showBalloonAt){case "close":v.y=F;break;case "open":v.y=
171
+ N;break;case "high":v.y=ta;break;case "low":v.y=ra}var ja=G.x[ma.id],Xa=this.periodSpan-1;"step"!=h||isNaN(G.cellWidth)||(Y=G.cellWidth);var wa=Math.floor(Y/2)+Math.floor(Xa*Y/2),Ga=wa,qb=0;"left"==this.stepDirection&&(qb=(2*Y+Xa*Y)/2,ja-=qb);"center"==this.stepDirection&&(qb=Y/2,ja-=qb);"start"==this.pointPosition&&(ja-=Y/2+Math.floor(Xa*Y/2),wa=0,Ga=Math.floor(Y)+Math.floor(Xa*Y));"end"==this.pointPosition&&(ja+=Y/2+Math.floor(Xa*Y/2),wa=Math.floor(Y)+Math.floor(Xa*Y),Ga=0);if(Ob){var Cb=this.columnWidth;
172
+ isNaN(Cb)||(wa*=Cb,Ga*=Cb)}J||(v.x=ja);-1E5>ja&&(ja=-1E5);ja>n+1E5&&(ja=n+1E5);t?(E=F,O=N,N=F=ja,isNaN(ua)&&!this.fillToGraph&&(O=na),qa=ra,sa=ta):(O=E=ja,isNaN(ua)&&!this.fillToGraph&&(N=na));if(!Bb&&W<ua||Bb&&W<Ba)v.isNegative=!0,Ra&&(Na=Ra),cb&&(Wa=cb),void 0!=Ja&&(Ha=Ja);Va=!1;isNaN(W)||(m?W>Ta?(Sa&&(Va=!0),Sa=!1):(Sa||(Va=!0),Sa=!0):v.isNegative=W<Pa?!0:!1,Ba=W);var Pb=!1;J&&a.chartScrollbar.ignoreCustomColors&&(Pb=!0);Pb||(void 0!=v.color&&(Na=v.color),v.fillColors&&(Na=v.fillColors));F=d.fitToBounds(F,
173
+ -3E4,3E4);switch(h){case "line":if(isNaN(W))z||(this.drawLineGraph(x,u,T,U),x=[],u=[],T=[],U=[]);else{if(Math.abs(E-db)>=ob||Math.abs(F-eb)>=ob)x.push(E),u.push(F),db=E,eb=F;ya=E;Ea=F;ka=E;la=F;!Ma||isNaN(N)||isNaN(O)||(T.push(O),U.push(N));if(Va||void 0!=v.lineColor&&v.lineColor!=this.lineColorSwitched||void 0!=v.fillColors&&v.fillColors!=this.fillColorsSwitched||!isNaN(v.dashLength))this.drawLineGraph(x,u,T,U),x=[E],u=[F],T=[],U=[],!Ma||isNaN(N)||isNaN(O)||(T.push(O),U.push(N)),m?(Sa?(this.lineColorSwitched=
174
+ xa,this.fillColorsSwitched=wb):(this.lineColorSwitched=Ja,this.fillColorsSwitched=Ra),void 0===this.bulletColor&&(this.bulletColorSwitched=xa)):(this.lineColorSwitched=v.lineColor,this.fillColorsSwitched=v.fillColors,void 0===this.bulletColor&&(this.bulletColorSwitched=this.lineColorSwitched)),this.dashLengthSwitched=v.dashLength;v.gap&&(this.drawLineGraph(x,u,T,U),x=[],u=[],T=[],U=[],eb=db=-1E3)}break;case "smoothedLine":if(isNaN(W))z||(this.drawSmoothedGraph(x,u,T,U),x=[],u=[],T=[],U=[]);else{if(Math.abs(E-
175
+ db)>=ob||Math.abs(F-eb)>=ob)x.push(E),u.push(F),db=E,eb=F;ya=E;Ea=F;ka=E;la=F;!Ma||isNaN(N)||isNaN(O)||(T.push(O),U.push(N));if(Va||void 0!=v.lineColor&&v.lineColor!=this.lineColorSwitched||void 0!=v.fillColors&&v.fillColors!=this.fillColorsSwitched||!isNaN(v.dashLength))this.drawSmoothedGraph(x,u,T,U),x=[E],u=[F],T=[],U=[],!Ma||isNaN(N)||isNaN(O)||(T.push(O),U.push(N)),this.lineColorSwitched=v.lineColor,this.fillColorsSwitched=v.fillColors,this.dashLengthSwitched=v.dashLength;v.gap&&(this.drawSmoothedGraph(x,
176
+ u,T,U),x=[],u=[],T=[],U=[])}break;case "step":if(!isNaN(W)){t?(isNaN(A)||(x.push(A),u.push(F-wa)),u.push(F-wa),x.push(E),u.push(F+Ga),x.push(E),!Ma||isNaN(N)||isNaN(O)||(isNaN(B)||(T.push(B),U.push(N-wa)),T.push(O),U.push(N-wa),T.push(O),U.push(N+Ga))):(isNaN(y)||(u.push(y),x.push(E-wa)),x.push(E-wa),u.push(F),x.push(E+Ga),u.push(F),!Ma||isNaN(N)||isNaN(O)||(isNaN(D)||(T.push(O-wa),U.push(D)),T.push(O-wa),U.push(N),T.push(O+Ga),U.push(N)));A=E;y=F;B=O;D=N;ya=E;Ea=F;ka=E;la=F;if(Va||void 0!=v.lineColor||
177
+ void 0!=v.fillColors||!isNaN(v.dashLength)){var Db=x[x.length-2],dc=u[u.length-2];x.pop();u.pop();T.pop();U.pop();this.drawLineGraph(x,u,T,U);x=[Db];u=[dc];T=[];U=[];Ma&&(T=[Db,Db+wa+Ga],U=[D,D]);t?(u.push(F+Ga),x.push(E)):(x.push(E+Ga),u.push(F));this.lineColorSwitched=v.lineColor;this.fillColorsSwitched=v.fillColors;this.dashLengthSwitched=v.dashLength;m&&(Sa?(this.lineColorSwitched=xa,this.fillColorsSwitched=wb):(this.lineColorSwitched=Ja,this.fillColorsSwitched=Ra))}if(Ob||v.gap)A=y=NaN,this.drawLineGraph(x,
178
+ u,T,U),x=[],u=[],T=[],U=[]}else if(!z){if(1>=this.periodSpan||1<this.periodSpan&&E-A>wa+Ga)A=y=NaN;this.drawLineGraph(x,u,T,U);x=[];u=[];T=[];U=[]}break;case "column":Ca=Ha;void 0!=v.lineColor&&(Ca=v.lineColor);if(!isNaN(W)){m||(v.isNegative=W<Pa?!0:!1);v.isNegative&&(Ra&&(Na=Ra),void 0!=Ja&&(Ca=Ja));var Qb=f.min,Rb=f.max,rb=ua;isNaN(rb)&&(rb=Pa);if(!(W<Qb&&rb<Qb||W>Rb&&rb>Rb)){var Aa;if(t){"3d"==M?(R=F-(r/2-this.depthCount+1)*(k+V)+V/2+Q*Z,S=O+H*Z,Aa=Z):(R=Math.floor(F-(r/2-Z)*(k+V)+V/2),S=O,Aa=
179
+ 0);K=k;ya=E;Ea=R+k/2;ka=E;la=R+k/2;R+K>q+Aa*Q&&(K=q-R+Aa*Q);R<Aa*Q&&(K+=R,R=Aa*Q);ba=E-O;var ec=S;S=d.fitToBounds(S,0,n);ba+=ec-S;ba=d.fitToBounds(ba,-S,n-S+H*Z);v.labelIsNegative=0>ba?!0:!1;0===ba&&1/W===1/-0&&(v.labelIsNegative=!0);isNaN(G.percentWidthValue)||(K=this.height*G.percentWidthValue/100,R=ja-K/2,Ea=R+K/2);K=d.roundTo(K,2);ba=d.roundTo(ba,2);R<q&&0<K&&(va=new d.Cuboid(g,ba,K,H-a.d3x,Q-a.d3y,Na,Wa,da,Ca,X,ga,w,t,ea,gb,pb,aa),v.columnWidth=Math.abs(ba),v.columnHeight=Math.abs(K))}else{"3d"==
180
+ M?(S=E-(r/2-this.depthCount+1)*(k+V)+V/2+H*Z,R=N+Q*Z,Aa=Z):(S=E-(r/2-Z)*(k+V)+V/2,R=N,Aa=0);K=k;ya=S+k/2;Ea=F;ka=S+k/2;la=F;S+K>n+Aa*H&&(K=n-S+Aa*H);S<Aa*H&&(K+=S-Aa*H,S=Aa*H);ba=F-N;v.labelIsNegative=0<ba?!0:!1;0===ba&&1/W!==1/Math.abs(W)&&(v.labelIsNegative=!0);var fc=R;R=d.fitToBounds(R,this.dy,q);ba+=fc-R;ba=d.fitToBounds(ba,-R+Q*Aa,q-R);isNaN(G.percentWidthValue)||(K=this.width*G.percentWidthValue/100,S=ja-K/2,ya=S+K/2);K=d.roundTo(K,2);ba=d.roundTo(ba,2);S<n+Z*H&&0<K&&(this.showOnAxis&&(R-=
181
+ Q/2),va=new d.Cuboid(g,K,ba,H-a.d3x,Q-a.d3y,Na,Wa,da,Ca,this.lineAlpha,ga,w,t,ea,gb,pb,aa),v.columnHeight=Math.abs(ba),v.columnWidth=Math.abs(K))}}if(va){za=va.set;d.setCN(a,va.set,"graph-"+this.type);d.setCN(a,va.set,"graph-"+this.id);v.className&&d.setCN(a,va.set,v.className,!0);v.columnGraphics=za;S=d.roundTo(S,2);R=d.roundTo(R,2);za.translate(S,R);(v.url||this.showHandOnHover)&&za.setAttr("cursor","pointer");if(!J){"none"==M&&(I=t?(this.end+1-L)*C-c:C*L+c);"3d"==M&&(t?(I=(this.end+1-L)*C-c-1E3*
182
+ this.depthCount,ya+=H*Z,ka+=H*Z,v.y+=H*Z):(I=(C-c)*(L+1)+1E3*this.depthCount,Ea+=Q*Z,la+=Q*Z,v.y+=Q*Z));if("regular"==M||"100%"==M)I=t?0<Ia.value?(this.end+1-L)*C+c+1E3*this.depthCount:(this.end+1-L)*C-c+1E3*this.depthCount:0<Ia.value?C*L+c:C*L-c;this.columnsArray.push({column:va,depth:I});v.x=t?R+K/2:S+K/2;this.ownColumns.push(va);this.animateColumns(va,L,E,O,F,N);this.addListeners(za,v);void 0!==this.tabIndex&&za.setAttr("tabindex",this.tabIndex)}this.columnsSet.push(za)}}break;case "candlestick":if(!isNaN(ua)&&
183
+ !isNaN(W)){var Ya,hb;Ca=Ha;void 0!=v.lineColor&&(Ca=v.lineColor);ya=E;la=Ea=F;ka=E;if(t){"open"==l&&(ka=O);"high"==l&&(ka=sa);"low"==l&&(ka=qa);E=d.fitToBounds(E,0,pa);O=d.fitToBounds(O,0,pa);qa=d.fitToBounds(qa,0,pa);sa=d.fitToBounds(sa,0,pa);if(0===E&&0===O&&0===qa&&0===sa)continue;if(E==pa&&O==pa&&qa==pa&&sa==pa)continue;R=F-k/2;S=O;K=k;R+K>q&&(K=q-R);0>R&&(K+=R,R=0);if(R<q&&0<K){var Eb,Fb;W>ua?(Eb=[E,sa],Fb=[O,qa]):(Eb=[O,sa],Fb=[E,qa]);!isNaN(sa)&&!isNaN(qa)&&F<q&&0<F&&(Ya=d.line(g,Eb,[F,F],
184
+ Ca,X,da),hb=d.line(g,Fb,[F,F],Ca,X,da));ba=E-O;va=new d.Cuboid(g,ba,K,H,Q,Na,bb,da,Ca,X,ga,w,t,ea,gb,pb,aa)}}else{"open"==l&&(la=N);"high"==l&&(la=ta);"low"==l&&(la=ra);F=d.fitToBounds(F,0,Fa);N=d.fitToBounds(N,0,Fa);ra=d.fitToBounds(ra,0,Fa);ta=d.fitToBounds(ta,0,Fa);if(0===F&&0===N&&0===ra&&0===ta)continue;if(F==Fa&&N==Fa&&ra==Fa&&ta==Fa)continue;S=E-k/2;R=N+da/2;K=k;S+K>n&&(K=n-S);0>S&&(K+=S,S=0);ba=F-N;if(S<n&&0<K){Bb&&W>=ua&&(Wa=0);var va=new d.Cuboid(g,K,ba,H,Q,Na,Wa,da,Ca,X,ga,w,t,ea,gb,pb,
185
+ aa),Gb,Hb;W>ua?(Gb=[F,ta],Hb=[N,ra]):(Gb=[N,ta],Hb=[F,ra]);!isNaN(ta)&&!isNaN(ra)&&E<n&&0<E&&(Ya=d.line(g,[E,E],Gb,Ca,X,da),hb=d.line(g,[E,E],Hb,Ca,X,da),d.setCN(a,Ya,this.bcn+"line-high"),v.className&&d.setCN(a,Ya,v.className,!0),d.setCN(a,hb,this.bcn+"line-low"),v.className&&d.setCN(a,hb,v.className,!0))}}va&&(za=va.set,v.columnGraphics=za,fa.push(za),za.translate(S,R-da/2),(v.url||this.showHandOnHover)&&za.setAttr("cursor","pointer"),Ya&&(fa.push(Ya),fa.push(hb)),J||(v.x=t?R+K/2:S+K/2,this.animateColumns(va,
186
+ L,E,O,F,N),this.addListeners(za,v),void 0!==this.tabIndex&&za.setAttr("tabindex",this.tabIndex)))}break;case "ohlc":if(!(isNaN(ua)||isNaN(zb)||isNaN(Ab)||isNaN(W))){var Sb=g.set();fa.push(Sb);W<ua&&(v.isNegative=!0,void 0!=Ja&&(Ha=Ja));void 0!=v.lineColor&&(Ha=v.lineColor);var Za,$a,ab;if(t){la=F;ka=E;"open"==l&&(ka=O);"high"==l&&(ka=sa);"low"==l&&(ka=qa);qa=d.fitToBounds(qa,0,pa);sa=d.fitToBounds(sa,0,pa);if(0===E&&0===O&&0===qa&&0===sa)continue;if(E==pa&&O==pa&&qa==pa&&sa==pa)continue;var Ib=F-
187
+ k/2,Ib=d.fitToBounds(Ib,0,q),Tb=d.fitToBounds(F,0,q),Jb=F+k/2,Jb=d.fitToBounds(Jb,0,q);0<=O&&O<=pa&&($a=d.line(g,[O,O],[Ib,Tb],Ha,X,da,ea));0<F&&F<q&&(Za=d.line(g,[qa,sa],[F,F],Ha,X,da,ea));0<=E&&E<=pa&&(ab=d.line(g,[E,E],[Tb,Jb],Ha,X,da,ea))}else{la=F;"open"==l&&(la=N);"high"==l&&(la=ta);"low"==l&&(la=ra);var ka=E,ra=d.fitToBounds(ra,0,Fa),ta=d.fitToBounds(ta,0,Fa),Kb=E-k/2,Kb=d.fitToBounds(Kb,0,n),Ub=d.fitToBounds(E,0,n),Lb=E+k/2,Lb=d.fitToBounds(Lb,0,n);0<=N&&N<=Fa&&($a=d.line(g,[Kb,Ub],[N,N],
188
+ Ha,X,da,ea));0<E&&E<n&&(Za=d.line(g,[E,E],[ra,ta],Ha,X,da,ea));0<=F&&F<=Fa&&(ab=d.line(g,[Ub,Lb],[F,F],Ha,X,da,ea))}fa.push($a);fa.push(Za);fa.push(ab);d.setCN(a,$a,this.bcn+"stroke-open");d.setCN(a,ab,this.bcn+"stroke-close");d.setCN(a,Za,this.bcn+"stroke");v.className&&d.setCN(a,Sb,v.className,!0);Za&&this.addListeners(Za,v);ab&&this.addListeners(ab,v);$a&&this.addListeners($a,v);ya=E;Ea=F}}if(!J&&!isNaN(W)){var Vb=this.hideBulletsCount;if(this.end-this.start<=Vb||0===Vb){var Wb=this.createBullet(v,
189
+ ka,la,L),Xb=this.labelText;if(Xb&&!isNaN(ya)&&!isNaN(ya)){var gc=this.createLabel(v,Xb),Yb=0;Wb&&(Yb=Wb.size);this.positionLabel(v,ya,Ea,gc,Yb)}if("regular"==M||"100%"==M){var Zb=f.totalText;if(Zb){var Oa=this.createLabel(v,Zb,f.totalTextColor);d.setCN(a,Oa,this.bcn+"label-total");this.allBullets.push(Oa);if(Oa){var $b=Oa.getBBox(),ac=$b.width,bc=$b.height,ib,jb,sb=f.totalTextOffset,cc=f.totals[L];cc&&cc.remove();var kb=0;"column"!=h&&(kb=this.bulletSize);t?(jb=Ea,ib=0>W?E-ac/2-2-kb-sb:E+ac/2+3+kb+
190
+ sb):(ib=ya,jb=0>W?F+bc/2+kb+sb:F-bc/2-3-kb-sb);Oa.translate(ib,jb);f.totals[L]=Oa;t?(0>jb||jb>q)&&Oa.remove():(0>ib||ib>n)&&Oa.remove()}}}}}}}this.lastDataItem=v;if("line"==h||"step"==h||"smoothedLine"==h)"smoothedLine"==h?this.drawSmoothedGraph(x,u,T,U):this.drawLineGraph(x,u,T,U),J||this.launchAnimation();this.bulletsHidden&&this.hideBullets();this.customBulletsHidden&&this.hideCustomBullets()},animateColumns:function(a,b){var c=this,e=c.chart.startDuration;0<e&&!c.animationPlayed&&(c.seqAn?(a.set.hide(),
191
+ c.animationArray.push(a),e=setTimeout(function(){c.animate.call(c)},e/(c.end-c.start+1)*(b-c.start)*1E3),c.timeOuts.push(e)):c.animate(a),c.chart.animatable.push(a))},createLabel:function(a,b,c){var e=this.chart,g=a.labelColor;g||(g=this.color);g||(g=e.color);c&&(g=c);c=this.fontSize;void 0===c&&(this.fontSize=c=e.fontSize);var f=this.labelFunction;b=e.formatString(b,a);b=d.cleanFromEmpty(b);f&&(b=f(a,b));if(void 0!==b&&""!==b)return a=d.text(this.container,b,g,e.fontFamily,c),a.node.style.pointerEvents=
192
+ "none",d.setCN(e,a,this.bcn+"label"),this.bulletSet.push(a),a},positiveClip:function(a){a.clipRect(this.pmx,this.pmy,this.pmw,this.pmh)},negativeClip:function(a){a.clipRect(this.nmx,this.nmy,this.nmw,this.nmh)},drawLineGraph:function(a,b,c,e){var g=this;if(1<a.length){var f=g.noRounding,h=g.set,k=g.chart,l=g.container,m=l.set(),n=l.set();h.push(n);h.push(m);var q=g.lineAlpha,p=g.lineThickness,h=g.fillAlphas,t=g.lineColorR,r=g.negativeLineAlpha;isNaN(r)&&(r=q);var w=g.lineColorSwitched;w&&(t=w);var w=
193
+ g.fillColorsR,z=g.fillColorsSwitched;z&&(w=z);var x=g.dashLength;(z=g.dashLengthSwitched)&&(x=z);var z=g.negativeLineColor,u=g.negativeFillColors,A=g.negativeFillAlphas,y=g.baseCoord;0!==g.negativeBase&&(y=g.valueAxis.getCoordinate(g.negativeBase,f),y>g.height&&(y=g.height),0>y&&(y=0));q=d.line(l,a,b,t,q,p,x,!1,!1,f);q.node.setAttribute("stroke-linejoin","round");d.setCN(k,q,g.bcn+"stroke");m.push(q);m.click(function(a){g.handleGraphEvent(a,"clickGraph")}).mouseover(function(a){g.handleGraphEvent(a,
194
+ "rollOverGraph")}).mouseout(function(a){g.handleGraphEvent(a,"rollOutGraph")}).touchmove(function(a){g.chart.handleMouseMove(a)}).touchend(function(a){g.chart.handleTouchEnd(a)});void 0===z||g.useNegativeColorIfDown||(p=d.line(l,a,b,z,r,p,x,!1,!1,f),p.node.setAttribute("stroke-linejoin","round"),d.setCN(k,p,g.bcn+"stroke"),d.setCN(k,p,g.bcn+"stroke-negative"),n.push(p));if(0<h||0<A)if(p=a.join(";").split(";"),r=b.join(";").split(";"),q=k.type,"serial"==q||"radar"==q?0<c.length?(c.reverse(),e.reverse(),
195
+ p=a.concat(c),r=b.concat(e)):"radar"==q?(r.push(0),p.push(0)):g.rotate?(r.push(r[r.length-1]),p.push(y),r.push(r[0]),p.push(y),r.push(r[0]),p.push(p[0])):(p.push(p[p.length-1]),r.push(y),p.push(p[0]),r.push(y),p.push(a[0]),r.push(r[0])):"xy"==q&&(b=g.fillToAxis)&&(d.isString(b)&&(b=k.getValueAxisById(b)),"H"==b.orientation?(y="top"==b.position?0:b.height,p.push(p[p.length-1]),r.push(y),p.push(p[0]),r.push(y),p.push(a[0]),r.push(r[0])):(y="left"==b.position?0:b.width,r.push(r[r.length-1]),p.push(y),
196
+ r.push(r[0]),p.push(y),r.push(r[0]),p.push(p[0]))),a=g.gradientRotation,0<h&&(b=d.polygon(l,p,r,w,h,1,"#000",0,a,f),b.pattern(g.pattern,NaN,k.path),d.setCN(k,b,g.bcn+"fill"),m.push(b),b.toBack()),u||void 0!==z)isNaN(A)&&(A=h),u||(u=z),f=d.polygon(l,p,r,u,A,1,"#000",0,a,f),d.setCN(k,f,g.bcn+"fill"),d.setCN(k,f,g.bcn+"fill-negative"),f.pattern(g.pattern,NaN,k.path),n.push(f),f.toBack(),n.click(function(a){g.handleGraphEvent(a,"clickGraph")}).mouseover(function(a){g.handleGraphEvent(a,"rollOverGraph")}).mouseout(function(a){g.handleGraphEvent(a,
197
+ "rollOutGraph")}).touchmove(function(a){g.chart.handleMouseMove(a)}).touchend(function(a){g.chart.handleTouchEnd(a)});g.applyMask(n,m)}},applyMask:function(a,b){var c=a.length();"serial"!=this.chart.type||this.scrollbar||(this.positiveClip(b),0<c&&this.negativeClip(a))},drawSmoothedGraph:function(a,b,c,e){if(1<a.length){var g=this.set,f=this.chart,h=this.container,k=h.set(),l=h.set();g.push(l);g.push(k);var m=this.lineAlpha,n=this.lineThickness,g=this.dashLength,q=this.fillAlphas,p=this.lineColorR,
198
+ t=this.fillColorsR,r=this.negativeLineColor,w=this.negativeFillColors,z=this.negativeFillAlphas,x=this.baseCoord,u=this.lineColorSwitched;u&&(p=u);(u=this.fillColorsSwitched)&&(t=u);var A=this.negativeLineAlpha;isNaN(A)&&(A=m);u=this.getGradRotation();m=new d.Bezier(h,a,b,p,m,n,t,0,g,void 0,u);d.setCN(f,m,this.bcn+"stroke");k.push(m.path);void 0!==r&&(n=new d.Bezier(h,a,b,r,A,n,t,0,g,void 0,u),d.setCN(f,n,this.bcn+"stroke"),d.setCN(f,n,this.bcn+"stroke-negative"),l.push(n.path));0<q&&(n=a.join(";").split(";"),
199
+ m=b.join(";").split(";"),p="",0<c.length?(c.push("M"),e.push("M"),c.reverse(),e.reverse(),n=a.concat(c),m=b.concat(e)):(this.rotate?(p+=" L"+x+","+b[b.length-1],p+=" L"+x+","+b[0]):(p+=" L"+a[a.length-1]+","+x,p+=" L"+a[0]+","+x),p+=" L"+a[0]+","+b[0]),a=new d.Bezier(h,n,m,NaN,0,0,t,q,g,p,u),d.setCN(f,a,this.bcn+"fill"),a.path.pattern(this.pattern,NaN,f.path),k.push(a.path),w||void 0!==r)&&(z||(z=q),w||(w=r),h=new d.Bezier(h,n,m,NaN,0,0,w,z,g,p,u),h.path.pattern(this.pattern,NaN,f.path),d.setCN(f,
200
+ h,this.bcn+"fill"),d.setCN(f,h,this.bcn+"fill-negative"),l.push(h.path));this.applyMask(l,k)}},launchAnimation:function(){var a=this,b=a.chart.startDuration;if(0<b&&!a.animationPlayed){var c=a.set,e=a.bulletSet;d.VML||(c.attr({opacity:a.startAlpha}),e.attr({opacity:a.startAlpha}));c.hide();e.hide();a.seqAn?(b=setTimeout(function(){a.animateGraphs.call(a)},a.index*b*1E3),a.timeOuts.push(b)):a.animateGraphs()}},animateGraphs:function(){var a=this.chart,b=this.set,c=this.bulletSet,e=this.x,d=this.y;
201
+ b.show();c.show();var f=a.startDuration,h=a.startEffect;b&&(this.rotate?(b.translate(-1E3,d),c.translate(-1E3,d)):(b.translate(e,-1E3),c.translate(e,-1E3)),b.animate({opacity:1,translate:e+","+d},f,h),c.animate({opacity:1,translate:e+","+d},f,h),a.animatable.push(b))},animate:function(a){var b=this.chart,c=this.animationArray;!a&&0<c.length&&(a=c[0],c.shift());c=d[d.getEffect(b.startEffect)];b=b.startDuration;a&&(this.rotate?a.animateWidth(b,c):a.animateHeight(b,c),a.set.show())},legendKeyColor:function(){var a=
202
+ this.legendColor,b=this.lineAlpha;void 0===a&&(a=this.lineColorR,0===b&&(b=this.fillColorsR)&&(a="object"==typeof b?b[0]:b));return a},legendKeyAlpha:function(){var a=this.legendAlpha;void 0===a&&(a=this.lineAlpha,this.fillAlphas>a&&(a=this.fillAlphas),0===a&&(a=this.bulletAlpha),0===a&&(a=1));return a},createBullet:function(a,b,c){if(!isNaN(b)&&!isNaN(c)&&("none"!=this.bullet||this.customBullet||a.bullet||a.customBullet)){var e=this.chart,g=this.container,f=this.bulletOffset,h=this.bulletSize;isNaN(a.bulletSize)||
203
+ (h=a.bulletSize);var k=a.values.value,l=this.maxValue,m=this.minValue,n=this.maxBulletSize,q=this.minBulletSize;isNaN(l)||(isNaN(k)||(h=(k-m)/(l-m)*(n-q)+q),m==l&&(h=n));l=h;this.bulletAxis&&(h=a.values.error,isNaN(h)||(k=h),h=this.bulletAxis.stepWidth*k);h<this.minBulletSize&&(h=this.minBulletSize);this.rotate?b=a.isNegative?b-f:b+f:c=a.isNegative?c+f:c-f;q=this.bulletColorR;a.lineColor&&void 0===this.bulletColor&&(this.bulletColorSwitched=a.lineColor);this.bulletColorSwitched&&(q=this.bulletColorSwitched);
204
+ a.isNegative&&void 0!==this.bulletColorNegative&&(q=this.bulletColorNegative);void 0!==a.color&&(q=a.color);var p;"xy"==e.type&&this.valueField&&(p=this.pattern,a.pattern&&(p=a.pattern));f=this.bullet;a.bullet&&(f=a.bullet);var k=this.bulletBorderThickness,m=this.bulletBorderColorR,n=this.bulletBorderAlpha,t=this.bulletAlpha;m||(m=q);this.useLineColorForBulletBorder&&(m=this.lineColorR,a.isNegative&&this.negativeLineColor&&(m=this.negativeLineColor),this.lineColorSwitched&&(m=this.lineColorSwitched));
205
+ var r=a.alpha;isNaN(r)||(t=r);p=d.bullet(g,f,h,q,t,k,m,n,l,0,p,e.path);l=this.customBullet;a.customBullet&&(l=a.customBullet);l&&(p&&p.remove(),"function"==typeof l?(l=new l,l.chart=e,a.bulletConfig&&(l.availableSpace=c,l.graph=this,l.graphDataItem=a,l.bulletY=c,a.bulletConfig.minCoord=this.minCoord-c,l.bulletConfig=a.bulletConfig),l.write(g),p&&l.showBullet&&l.set.push(p),a.customBulletGraphics=l.cset,p=l.set):(p=g.set(),l=g.image(l,0,0,h,h),p.push(l),this.centerCustomBullets&&l.translate(-h/2,-h/
206
+ 2)));if(p){(a.url||this.showHandOnHover)&&p.setAttr("cursor","pointer");if("serial"==e.type||"gantt"==e.type)if(-.5>b||b>this.width||c<-h/2||c>this.height)p.remove(),p=null;p&&(this.bulletSet.push(p),p.translate(b,c),this.addListeners(p,a),this.allBullets.push(p));a.bx=b;a.by=c;d.setCN(e,p,this.bcn+"bullet");a.className&&d.setCN(e,p,a.className,!0)}if(p){p.size=h||0;if(e=this.bulletHitAreaSize)g=d.circle(g,e,"#FFFFFF",.001,0),g.translate(b,c),a.hitBullet=g,this.bulletSet.push(g),this.addListeners(g,
207
+ a);a.bulletGraphics=p;void 0!==this.tabIndex&&p.setAttr("tabindex",this.tabIndex)}else p={size:0};p.graphDataItem=a;return p}},showBullets:function(){var a=this.allBullets,b;this.bulletsHidden=!1;for(b=0;b<a.length;b++)a[b].show()},hideBullets:function(){var a=this.allBullets,b;this.bulletsHidden=!0;for(b=0;b<a.length;b++)a[b].hide()},showCustomBullets:function(){var a=this.allBullets,b;this.customBulletsHidden=!1;for(b=0;b<a.length;b++){var c=a[b].graphDataItem;c&&c.customBulletGraphics&&c.customBulletGraphics.show()}},
208
+ hideCustomBullets:function(){var a=this.allBullets,b;this.customBulletsHidden=!0;for(b=0;b<a.length;b++){var c=a[b].graphDataItem;c&&c.customBulletGraphics&&c.customBulletGraphics.hide()}},addListeners:function(a,b){var c=this;a.mouseover(function(a){c.handleRollOver(b,a)}).mouseout(function(a){c.handleRollOut(b,a)}).touchend(function(a){c.handleRollOver(b,a);c.chart.panEventsEnabled&&c.handleClick(b,a)}).touchstart(function(a){c.handleRollOver(b,a)}).click(function(a){c.handleClick(b,a)}).dblclick(function(a){c.handleDoubleClick(b,
209
+ a)}).contextmenu(function(a){c.handleRightClick(b,a)});var e=c.chart;if(e.accessible&&c.accessibleLabel){var d=e.formatString(c.accessibleLabel,b);e.makeAccessible(a,d)}},handleRollOver:function(a,b){this.handleGraphEvent(b,"rollOverGraph");if(a){var c=this.chart;a.bulletConfig&&(c.isRolledOverBullet=!0);var e={type:"rollOverGraphItem",item:a,index:a.index,graph:this,target:this,chart:this.chart,event:b};this.fire(e);c.fire(e);clearTimeout(c.hoverInt);(c=c.chartCursor)&&c.valueBalloonsEnabled||this.showGraphBalloon(a,
210
+ "V",!0)}},handleRollOut:function(a,b){var c=this.chart;if(a){var e={type:"rollOutGraphItem",item:a,index:a.index,graph:this,target:this,chart:this.chart,event:b};this.fire(e);c.fire(e);c.isRolledOverBullet=!1}this.handleGraphEvent(b,"rollOutGraph");(c=c.chartCursor)&&c.valueBalloonsEnabled||this.hideBalloon()},handleClick:function(a,b){if(!this.chart.checkTouchMoved()&&this.chart.checkTouchDuration(b)){if(a){var c={type:"clickGraphItem",item:a,index:a.index,graph:this,target:this,chart:this.chart,
211
+ event:b};this.fire(c);this.chart.fire(c);d.getURL(a.url,this.urlTarget)}this.handleGraphEvent(b,"clickGraph")}},handleGraphEvent:function(a,b){var c={type:b,graph:this,target:this,chart:this.chart,event:a};this.fire(c);this.chart.fire(c)},handleRightClick:function(a,b){if(a){var c={type:"rightClickGraphItem",item:a,index:a.index,graph:this,target:this,chart:this.chart,event:b};this.fire(c);this.chart.fire(c)}},handleDoubleClick:function(a,b){if(a){var c={type:"doubleClickGraphItem",item:a,index:a.index,
212
+ graph:this,target:this,chart:this.chart,event:b};this.fire(c);this.chart.fire(c)}},zoom:function(a,b){this.start=a;this.end=b;this.draw()},changeOpacity:function(a){var b=this.set;b&&b.setAttr("opacity",a);if(b=this.ownColumns){var c;for(c=0;c<b.length;c++){var e=b[c].set;e&&e.setAttr("opacity",a)}}(b=this.bulletSet)&&b.setAttr("opacity",a)},destroy:function(){d.remove(this.set);d.remove(this.bulletSet);var a=this.timeOuts;if(a){var b;for(b=0;b<a.length;b++)clearTimeout(a[b])}this.timeOuts=[]},createBalloon:function(){var a=
213
+ this.chart;this.balloon?this.balloon.destroy&&this.balloon.destroy():this.balloon={};var b=this.balloon;d.extend(b,a.balloon,!0);b.chart=a;b.mainSet=a.plotBalloonsSet;b.className=this.id},hideBalloon:function(){var a=this,b=a.chart;b.chartCursor?b.chartCursor.valueBalloonsEnabled||b.hideBalloon():b.hideBalloon();clearTimeout(a.hoverInt);a.hoverInt=setTimeout(function(){a.hideBalloonReal.call(a)},b.hideBalloonTime)},hideBalloonReal:function(){this.balloon&&this.balloon.hide();this.fixBulletSize()},
214
+ fixBulletSize:function(){if(d.isModern){var a=this.resizedDItem;if(a){var b=a.bulletGraphics;if(b&&!b.doNotScale){b.translate(a.bx,a.by,1);var c=this.bulletAlpha;isNaN(a.alpha)||(c=a.alpha);b.setAttr("fill-opacity",c);b.setAttr("stroke-opacity",this.bulletBorderAlpha)}}this.resizedDItem=null}},showGraphBalloon:function(a,b,c,e,g){if(a){var f=this.chart,h=this.balloon,k=0,l=0,m=f.chartCursor,n=!0;m?m.valueBalloonsEnabled||(h=f.balloon,k=this.x,l=this.y,n=!1):(h=f.balloon,k=this.x,l=this.y,n=!1);clearTimeout(this.hoverInt);
215
+ if(f.chartCursor&&(this.currentDataItem=a,"serial"==f.type&&f.isRolledOverBullet&&f.chartCursor.valueBalloonsEnabled)){this.hideBalloonReal();return}this.resizeBullet(a,e,g);if(h&&h.enabled&&this.showBalloon&&!this.hidden){var m=f.formatString(this.balloonText,a,!0),q=this.balloonFunction;q&&(m=q(a,a.graph));m&&(m=d.cleanFromEmpty(m));m&&""!==m?(e=f.getBalloonColor(this,a),h.drop||(h.pointerOrientation=b),b=a.x,g=a.y,f.rotate&&(b=a.y,g=a.x),b+=k,g+=l,isNaN(b)||isNaN(g)?this.hideBalloonReal():(a=this.width,
216
+ q=this.height,n&&h.setBounds(k,l,a+k,q+l),h.changeColor(e),h.setPosition(b,g),h.fixPrevious(),h.fixedPosition&&(c=!1),!c&&"radar"!=f.type&&(b<k-.5||b>a+k||g<l-.5||g>q+l)?(h.showBalloon(m),h.hide(0)):(h.followCursor(c),h.showBalloon(m)))):(this.hideBalloonReal(),h.hide(),this.resizeBullet(a,e,g))}else this.hideBalloonReal()}},resizeBullet:function(a,b,c){this.fixBulletSize();if(a&&d.isModern&&(1!=b||!isNaN(c))){var e=a.bulletGraphics;e&&!e.doNotScale&&(e.translate(a.bx,a.by,b),isNaN(c)||(e.setAttr("fill-opacity",
217
+ c),e.setAttr("stroke-opacity",c)),this.resizedDItem=a)}}})})();(function(){var d=window.AmCharts;d.ChartCursor=d.Class({construct:function(a){this.cname="ChartCursor";this.createEvents("changed","zoomed","onHideCursor","onShowCursor","draw","selected","moved","panning","zoomStarted");this.enabled=!0;this.cursorAlpha=1;this.selectionAlpha=.2;this.cursorColor="#CC0000";this.categoryBalloonAlpha=1;this.color="#FFFFFF";this.type="cursor";this.zoomed=!1;this.zoomable=!0;this.pan=!1;this.categoryBalloonDateFormat="MMM DD, YYYY";this.categoryBalloonText="[[category]]";
218
+ this.categoryBalloonEnabled=this.valueBalloonsEnabled=!0;this.rolledOver=!1;this.cursorPosition="middle";this.bulletsEnabled=this.skipZoomDispatch=!1;this.bulletSize=8;this.selectWithoutZooming=this.oneBalloonOnly=!1;this.graphBulletSize=1.7;this.animationDuration=.3;this.zooming=!1;this.adjustment=0;this.avoidBalloonOverlapping=!0;this.leaveCursor=!1;this.leaveAfterTouch=!0;this.valueZoomable=!1;this.balloonPointerOrientation="horizontal";this.hLineEnabled=this.vLineEnabled=!0;this.vZoomEnabled=
219
+ this.hZoomEnabled=!1;d.applyTheme(this,a,this.cname)},draw:function(){this.destroy();var a=this.chart;a.panRequired=!0;var b=a.container;this.rotate=a.rotate;this.container=b;this.prevLineHeight=this.prevLineWidth=NaN;b=b.set();b.translate(this.x,this.y);this.set=b;a.cursorSet.push(b);this.createElements();d.isString(this.limitToGraph)&&(this.limitToGraph=d.getObjById(a.graphs,this.limitToGraph),this.fullWidth=!1,this.cursorPosition="middle");this.pointer=this.balloonPointerOrientation.substr(0,1).toUpperCase();
220
+ this.isHidden=!1;this.hideLines();this.valueLineAxis||(this.valueLineAxis=a.valueAxes[0])},createElements:function(){var a=this,b=a.chart,c=b.dx,e=b.dy,g=a.width,f=a.height,h,k,l=a.cursorAlpha,m=a.valueLineAlpha;a.rotate?(h=m,k=l):(k=m,h=l);"xy"==b.type&&(k=l,void 0!==m&&(k=m),h=l);a.vvLine=d.line(a.container,[c,0,0],[e,0,f],a.cursorColor,h,1);d.setCN(b,a.vvLine,"cursor-line");d.setCN(b,a.vvLine,"cursor-line-vertical");a.hhLine=d.line(a.container,[0,g,g+c],[0,0,e],a.cursorColor,k,1);d.setCN(b,a.hhLine,
221
+ "cursor-line");d.setCN(b,a.hhLine,"cursor-line-horizontal");a.vLine=a.rotate?a.vvLine:a.hhLine;a.set.push(a.vvLine);a.set.push(a.hhLine);a.set.node.style.pointerEvents="none";a.fullLines=a.container.set();b=b.cursorLineSet;b.push(a.fullLines);b.translate(a.x,a.y);b.clipRect(-1,-1,g+2,f+2);void 0!==a.tabIndex&&(b.setAttr("tabindex",a.tabIndex),b.keyup(function(b){a.handleKeys(b)}).focus(function(b){a.showCursor()}).blur(function(b){a.hideCursor()}));a.set.clipRect(0,0,g,f)},handleKeys:function(a){var b=
222
+ this.prevIndex,c=this.chart;if(c){var e=c.chartData;e&&(isNaN(b)&&(b=e.length-1),37!=a.keyCode&&40!=a.keyCode||b--,39!=a.keyCode&&38!=a.keyCode||b++,b=d.fitToBounds(b,c.startIndex,c.endIndex),(a=this.chart.chartData[b])&&this.setPosition(a.x.categoryAxis),this.prevIndex=b)}},update:function(){var a=this.chart;if(a){var b=a.mouseX-this.x,c=a.mouseY-this.y;this.mouseX=b;this.mouseY=c;this.mouse2X=a.mouse2X-this.x;this.mouse2Y=a.mouse2Y-this.y;var e;if(a.chartData&&0<a.chartData.length){this.mouseIsOver()?
223
+ (this.hideGraphBalloons=!1,this.rolledOver=e=!0,this.updateDrawing(),this.vvLine&&isNaN(this.fx)&&(a.rotate||!this.limitToGraph)&&this.vvLine.translate(b,0),!this.hhLine||!isNaN(this.fy)||a.rotate&&this.limitToGraph||this.hhLine.translate(0,c),isNaN(this.mouse2X)?this.dispatchMovedEvent(b,c):e=!1):this.forceShow||this.hideCursor();if(this.zooming){if(!isNaN(this.mouse2X)){isNaN(this.mouse2X0)||this.dispatchPanEvent();return}if(this.pan){this.dispatchPanEvent();return}(this.hZoomEnabled||this.vZoomEnabled)&&
224
+ this.zooming&&this.updateSelection()}e&&this.showCursor()}}},updateDrawing:function(){this.drawing&&this.chart.setMouseCursor("crosshair");if(this.drawingNow&&(d.remove(this.drawingLine),1<Math.abs(this.drawStartX-this.mouseX)||1<Math.abs(this.drawStartY-this.mouseY))){var a=this.chart,b=a.marginTop,a=a.marginLeft;this.drawingLine=d.line(this.container,[this.drawStartX+a,this.mouseX+a],[this.drawStartY+b,this.mouseY+b],this.cursorColor,1,1)}},fixWidth:function(a){if(this.fullWidth&&this.prevLineWidth!=
225
+ a){var b=this.vvLine,c=0;b&&(b.remove(),c=b.x);b=this.container.set();b.translate(c,0);c=d.rect(this.container,a,this.height,this.cursorColor,this.cursorAlpha,this.cursorAlpha,this.cursorColor);d.setCN(this.chart,c,"cursor-fill");c.translate(-a/2-1,0);b.push(c);this.vvLine=b;this.fullLines.push(b);this.prevLineWidth=a}},fixHeight:function(a){if(this.fullWidth&&this.prevLineHeight!=a){var b=this.hhLine,c=0;b&&(b.remove(),c=b.y);b=this.container.set();b.translate(0,c);c=d.rect(this.container,this.width,
226
+ a,this.cursorColor,this.cursorAlpha);c.translate(0,-a/2);b.push(c);this.fullLines.push(b);this.hhLine=b;this.prevLineHeight=a}},fixVLine:function(a,b){if(!isNaN(a)&&this.vvLine){if(isNaN(this.prevLineX)){var c=0,e=this.mouseX;if(this.limitToGraph){var d=this.chart.categoryAxis;d&&(this.chart.rotate||(c="bottom"==d.position?this.height:-this.height),e=a)}this.vvLine.translate(e,c)}else this.prevLineX!=a&&this.vvLine.translate(this.prevLineX,this.prevLineY);this.fx=a;this.prevLineX!=a&&(c=this.animationDuration,
227
+ this.zooming&&(c=0),this.vvLine.stop(),this.vvLine.animate({translate:a+","+b},c,"easeOutSine"),this.prevLineX=a,this.prevLineY=b)}},fixHLine:function(a,b){if(!isNaN(a)&&this.hhLine){if(isNaN(this.prevLineY)){var c=0,e=this.mouseY;if(this.limitToGraph){var d=this.chart.categoryAxis;d&&(this.chart.rotate&&(c="right"==d.position?this.width:-this.width),e=a)}this.hhLine.translate(c,e)}else this.prevLineY!=a&&this.hhLine.translate(this.prevLineX,this.prevLineY);this.fy=a;this.prevLineY!=a&&(c=this.animationDuration,
228
+ this.zooming&&(c=0),this.hhLine.stop(),this.hhLine.animate({translate:b+","+a},c,"easeOutSine"),this.prevLineY=a,this.prevLineX=b)}},hideCursor:function(a){this.forceShow=!1;this.chart.wasTouched&&this.leaveAfterTouch||this.isHidden||this.leaveCursor||(this.hideCursorReal(),a?this.chart.handleCursorHide():this.fire({target:this,chart:this.chart,type:"onHideCursor"}),this.chart.setMouseCursor("auto"))},hideCursorReal:function(){this.hideLines();this.isHidden=!0;this.index=this.prevLineY=this.prevLineX=
229
+ this.mouseY0=this.mouseX0=this.fy=this.fx=NaN},hideLines:function(){this.vvLine&&this.vvLine.hide();this.hhLine&&this.hhLine.hide();this.fullLines&&this.fullLines.hide();this.isHidden=!0;this.chart.handleCursorHide()},showCursor:function(a){!this.drawing&&this.enabled&&(this.vLineEnabled&&this.vvLine&&this.vvLine.show(),this.hLineEnabled&&this.hhLine&&this.hhLine.show(),this.isHidden=!1,this.updateFullLine(),a||this.fire({target:this,chart:this.chart,type:"onShowCursor"}),this.pan&&this.chart.setMouseCursor("move"))},
230
+ updateFullLine:function(){this.zooming&&this.fullWidth&&this.selection&&(this.rotate?0<this.selection.height&&this.hhLine.hide():0<this.selection.width&&this.vvLine.hide())},updateSelection:function(){if(!this.pan&&this.enabled){var a=this.mouseX,b=this.mouseY;isNaN(this.fx)||(a=this.fx);isNaN(this.fy)||(b=this.fy);this.clearSelection();var c=this.mouseX0,e=this.mouseY0,g=this.width,f=this.height,a=d.fitToBounds(a,0,g),b=d.fitToBounds(b,0,f),h;a<c&&(h=a,a=c,c=h);b<e&&(h=b,b=e,e=h);this.hZoomEnabled?
231
+ g=a-c:c=0;this.vZoomEnabled?f=b-e:e=0;isNaN(this.mouse2X)&&0<Math.abs(g)&&0<Math.abs(f)&&(a=this.chart,b=d.rect(this.container,g,f,this.cursorColor,this.selectionAlpha),d.setCN(a,b,"cursor-selection"),b.width=g,b.height=f,b.translate(c,e),this.set.push(b),this.selection=b);this.updateFullLine()}},mouseIsOver:function(){var a=this.mouseX,b=this.mouseY;if(this.justReleased)return this.justReleased=!1,!0;if(this.mouseIsDown)return!0;if(!this.chart.mouseIsOver)return this.handleMouseOut(),!1;if(0<a&&
232
+ a<this.width&&0<b&&b<this.height)return!0;this.handleMouseOut();return!1},fixPosition:function(){this.prevY=this.prevX=NaN},handleMouseDown:function(){this.update();if(this.mouseIsOver())if(this.mouseIsDown=!0,this.mouseX0=this.mouseX,this.mouseY0=this.mouseY,this.mouse2X0=this.mouse2X,this.mouse2Y0=this.mouse2Y,this.drawing)this.drawStartY=this.mouseY,this.drawStartX=this.mouseX,this.drawingNow=!0;else if(this.dispatchMovedEvent(this.mouseX,this.mouseY),!this.pan&&isNaN(this.mouse2X0)&&(isNaN(this.fx)||
233
+ (this.mouseX0=this.fx),isNaN(this.fy)||(this.mouseY0=this.fy)),this.hZoomEnabled||this.vZoomEnabled){this.zooming=!0;var a={chart:this.chart,target:this,type:"zoomStarted"};a.x=this.mouseX/this.width;a.y=this.mouseY/this.height;this.index0=a.index=this.index;this.timestamp0=this.timestamp;this.fire(a)}},registerInitialMouse:function(){},handleReleaseOutside:function(){this.mouseIsDown=!1;if(this.drawingNow){this.drawingNow=!1;d.remove(this.drawingLine);var a=this.drawStartX,b=this.drawStartY,c=this.mouseX,
234
+ e=this.mouseY,g=this.chart;(2<Math.abs(a-c)||2<Math.abs(b-e))&&this.fire({type:"draw",target:this,chart:g,initialX:a,initialY:b,finalX:c,finalY:e})}this.zooming&&(this.zooming=!1,this.selectWithoutZooming?this.dispatchZoomEvent("selected"):(this.hZoomEnabled||this.vZoomEnabled)&&this.dispatchZoomEvent("zoomed"),this.rolledOver&&this.dispatchMovedEvent(this.mouseX,this.mouseY));this.mouse2Y0=this.mouse2X0=this.mouseY0=this.mouseX0=NaN},dispatchZoomEvent:function(a){if(!this.pan){var b=this.selection;
235
+ if(b&&3<Math.abs(b.width)&&3<Math.abs(b.height)){var c=Math.min(this.index,this.index0),e=Math.max(this.index,this.index0),d=c,f=e,h=this.chart,k=h.chartData,l=h.categoryAxis;l&&l.parseDates&&!l.equalSpacing&&(d=k[c]?k[c].time:Math.min(this.timestamp0,this.timestamp),f=k[e]?h.getEndTime(k[e].time):Math.max(this.timestamp0,this.timestamp));var b={type:a,chart:this.chart,target:this,end:f,start:d,startIndex:c,endIndex:e,selectionHeight:b.height,selectionWidth:b.width,selectionY:b.y,selectionX:b.x},
236
+ m;this.hZoomEnabled&&4<Math.abs(this.mouseX0-this.mouseX)&&(b.startX=this.mouseX0/this.width,b.endX=this.mouseX/this.width,m=!0);this.vZoomEnabled&&4<Math.abs(this.mouseY0-this.mouseY)&&(b.startY=1-this.mouseY0/this.height,b.endY=1-this.mouseY/this.height,m=!0);m&&(this.prevY=this.prevX=NaN,this.fire(b),"selected"!=a&&this.clearSelection());this.hideCursor()}}},dispatchMovedEvent:function(a,b,c,e){a=Math.round(a);b=Math.round(b);if(!this.isHidden&&(a!=this.prevX||b!=this.prevY||"changed"==c)){c||
237
+ (c="moved");var d=this.fx,f=this.fy;isNaN(d)&&(d=a);isNaN(f)&&(f=b);var h=!1;this.zooming&&this.pan&&(h=!0);h={hidden:this.isHidden,type:c,chart:this.chart,target:this,x:a,y:b,finalX:d,finalY:f,zooming:this.zooming,panning:h,mostCloseGraph:this.mostCloseGraph,index:this.index,skip:e,hideBalloons:this.hideGraphBalloons};this.prevIndex=this.index;this.rotate?(h.position=b,h.finalPosition=f):(h.position=a,h.finalPosition=d);this.prevX=a;this.prevY=b;e?this.chart.handleCursorMove(h):(this.fire(h),"changed"==
238
+ c&&this.chart.fire(h))}},dispatchPanEvent:function(){if(this.mouseIsDown){var a=d.roundTo((this.mouseX-this.mouseX0)/this.width,3),b=d.roundTo((this.mouseY-this.mouseY0)/this.height,3),c=d.roundTo((this.mouse2X-this.mouse2X0)/this.width,3),e=d.roundTo((this.mouse2Y-this.mouse2Y0)/this.height,2),g=!1;0!==Math.abs(a)&&0!==Math.abs(b)&&(g=!0);if(this.prevDeltaX==a||this.prevDeltaY==b)g=!1;isNaN(c)||isNaN(e)||(0!==Math.abs(c)&&0!==Math.abs(e)&&(g=!0),this.prevDelta2X!=c&&this.prevDelta2Y!=e)||(g=!1);
239
+ g&&(this.hideLines(),this.fire({type:"panning",chart:this.chart,target:this,deltaX:a,deltaY:b,delta2X:c,delta2Y:e,index:this.index}),this.prevDeltaX=a,this.prevDeltaY=b,this.prevDelta2X=c,this.prevDelta2Y=e)}},clearSelection:function(){var a=this.selection;a&&(a.width=0,a.height=0,a.remove())},destroy:function(){this.clear();d.remove(this.selection);this.selection=null;clearTimeout(this.syncTO);d.remove(this.set)},clear:function(){},setTimestamp:function(a){this.timestamp=a},setIndex:function(a,b){a!=
240
+ this.index&&(this.index=a,b||this.isHidden||this.dispatchMovedEvent(this.mouseX,this.mouseY,"changed"))},handleMouseOut:function(){this.enabled&&this.rolledOver&&(this.leaveCursor||this.setIndex(void 0),this.forceShow=!1,this.hideCursor(),this.rolledOver=!1)},showCursorAt:function(a){var b=this.chart.categoryAxis;b&&this.setPosition(b.categoryToCoordinate(a),a)},setPosition:function(a,b){var c=this.chart,e=c.categoryAxis;if(e){var d,f;void 0===b&&(b=e.coordinateToValue(a));e.showBalloonAt(b,a);this.forceShow=
241
+ !0;e.stickBalloonToCategory?c.rotate?this.fixHLine(a,0):this.fixVLine(a,0):(this.showCursor(),c.rotate?this.hhLine.translate(0,a):this.vvLine.translate(a,0));c.rotate?d=a:f=a;c.rotate?(this.vvLine&&this.vvLine.hide(),this.hhLine&&this.hhLine.show()):(this.hhLine&&this.hhLine.hide(),this.vvLine&&this.vvLine.show());this.updateFullLine();this.isHidden=!1;this.dispatchMovedEvent(f,d,"moved",!0)}},enableDrawing:function(a){this.enabled=!a;this.hideCursor();this.drawing=a},syncWithCursor:function(a,b){clearTimeout(this.syncTO);
242
+ a&&(a.isHidden?this.hideCursor(!0):this.syncWithCursorReal(a,b))},isZooming:function(a){this.zooming=a},syncWithCursorReal:function(a,b){var c=a.vvLine,e=a.hhLine;this.index=a.index;this.forceShow=!0;this.zooming&&this.pan||this.showCursor(!0);this.hideGraphBalloons=b;this.justReleased=a.justReleased;this.zooming=a.zooming;this.index0=a.index0;this.mouseX0=a.mouseX0;this.mouseY0=a.mouseY0;this.mouse2X0=a.mouse2X0;this.mouse2Y0=a.mouse2Y0;this.timestamp0=a.timestamp0;this.prevDeltaX=a.prevDeltaX;this.prevDeltaY=
243
+ a.prevDeltaY;this.prevDelta2X=a.prevDelta2X;this.prevDelta2Y=a.prevDelta2Y;this.fx=a.fx;this.fy=a.fy;a.zooming&&this.updateSelection();var d=a.mouseX,f=a.mouseY;this.rotate?(d=NaN,this.vvLine&&this.vvLine.hide(),this.hhLine&&e&&(isNaN(a.fy)?this.hhLine.translate(0,a.mouseY):this.fixHLine(a.fy,0))):(f=NaN,this.hhLine&&this.hhLine.hide(),this.vvLine&&c&&(isNaN(a.fx)?this.vvLine.translate(a.mouseX,0):this.fixVLine(a.fx,0)));this.dispatchMovedEvent(d,f,"moved",!0)}})})();(function(){var d=window.AmCharts;d.SimpleChartScrollbar=d.Class({construct:function(a){this.createEvents("zoomed","zoomStarted","zoomEnded");this.backgroundColor="#D4D4D4";this.backgroundAlpha=1;this.selectedBackgroundColor="#EFEFEF";this.scrollDuration=this.selectedBackgroundAlpha=1;this.resizeEnabled=!0;this.hideResizeGrips=!1;this.scrollbarHeight=20;this.updateOnReleaseOnly=!1;9>document.documentMode&&(this.updateOnReleaseOnly=!0);this.dragIconHeight=this.dragIconWidth=35;this.dragIcon="dragIconRoundBig";
244
+ this.dragCursorHover="cursor: move; cursor: grab; cursor: -moz-grab; cursor: -webkit-grab;";this.dragCursorDown="cursor: move; cursor: grab; cursor: -moz-grabbing; cursor: -webkit-grabbing;";this.vResizeCursor="ns-resize";this.hResizeCursor="ew-resize";this.enabled=!0;this.percentStart=this.offset=0;this.percentEnd=1;d.applyTheme(this,a,"SimpleChartScrollbar")},getPercents:function(){var a=this.getDBox(),b=a.x,c=a.y,e=a.width,a=a.height;this.rotate?(b=1-c/this.height,c=1-(c+a)/this.height):(c=b/this.width,
245
+ b=(b+e)/this.width);this.percentStart=c;this.percentEnd=b},draw:function(){var a=this;a.destroy();if(a.enabled){var b=a.chart.container,c=a.rotate,e=a.chart;e.panRequired=!0;var g=b.set();a.set=g;c?d.setCN(e,g,"scrollbar-vertical"):d.setCN(e,g,"scrollbar-horizontal");e.scrollbarsSet.push(g);var f,h;c?(f=a.scrollbarHeight,h=e.plotAreaHeight):(h=a.scrollbarHeight,f=e.plotAreaWidth);a.width=f;if((a.height=h)&&f){var k=d.rect(b,f,h,a.backgroundColor,a.backgroundAlpha,1,a.backgroundColor,a.backgroundAlpha);
246
+ d.setCN(e,k,"scrollbar-bg");a.bg=k;g.push(k);k=d.rect(b,f,h,"#000",.005);g.push(k);a.invisibleBg=k;k.click(function(){a.handleBgClick()}).mouseover(function(){a.handleMouseOver()}).mouseout(function(){a.handleMouseOut()}).touchend(function(){a.handleBgClick()});k=d.rect(b,f,h,a.selectedBackgroundColor,a.selectedBackgroundAlpha);d.setCN(e,k,"scrollbar-bg-selected");a.selectedBG=k;g.push(k);f=d.rect(b,f,h,"#000",.005);a.dragger=f;g.push(f);f.mousedown(function(b){a.handleDragStart(b)}).mouseup(function(){a.handleDragStop()}).mouseover(function(){a.handleDraggerOver()}).mouseout(function(){a.handleMouseOut()}).touchstart(function(b){a.handleDragStart(b)}).touchend(function(){a.handleDragStop()});
247
+ h=e.pathToImages;var l,k=a.dragIcon.replace(/\.[a-z]*$/i,"");d.isAbsolute(k)&&(h="");c?(l=h+k+"H"+e.extension,h=a.dragIconWidth,c=a.dragIconHeight):(l=h+k+e.extension,c=a.dragIconWidth,h=a.dragIconHeight);k=b.image(l,0,0,c,h);d.setCN(e,k,"scrollbar-grip-left");l=b.image(l,0,0,c,h);d.setCN(e,l,"scrollbar-grip-right");var m=10,n=20;e.panEventsEnabled&&(m=25,n=a.scrollbarHeight);var q=d.rect(b,m,n,"#000",.005),p=d.rect(b,m,n,"#000",.005);p.translate(-(m-c)/2,-(n-h)/2);q.translate(-(m-c)/2,-(n-h)/2);
248
+ c=b.set([k,p]);b=b.set([l,q]);a.iconLeft=c;g.push(a.iconLeft);a.iconRight=b;g.push(b);a.updateGripCursor(!1);e.makeAccessible(c,a.accessibleLabel);e.makeAccessible(b,a.accessibleLabel);e.makeAccessible(f,a.accessibleLabel);c.setAttr("role","menuitem");b.setAttr("role","menuitem");f.setAttr("role","menuitem");void 0!==a.tabIndex&&(c.setAttr("tabindex",a.tabIndex),c.keyup(function(b){a.handleKeys(b,1,0)}));void 0!==a.tabIndex&&(f.setAttr("tabindex",a.tabIndex),f.keyup(function(b){a.handleKeys(b,1,1)}));
249
+ void 0!==a.tabIndex&&(b.setAttr("tabindex",a.tabIndex),b.keyup(function(b){a.handleKeys(b,0,1)}));c.mousedown(function(){a.leftDragStart()}).mouseup(function(){a.leftDragStop()}).mouseover(function(){a.iconRollOver()}).mouseout(function(){a.iconRollOut()}).touchstart(function(){a.leftDragStart()}).touchend(function(){a.leftDragStop()});b.mousedown(function(){a.rightDragStart()}).mouseup(function(){a.rightDragStop()}).mouseover(function(){a.iconRollOver()}).mouseout(function(){a.iconRollOut()}).touchstart(function(){a.rightDragStart()}).touchend(function(){a.rightDragStop()});
250
+ d.ifArray(e.chartData)?g.show():g.hide();a.hideDragIcons();a.clipDragger(!1)}g.translate(a.x,a.y);g.node.style.msTouchAction="none";g.node.style.touchAction="none"}},handleKeys:function(a,b,c){this.getPercents();var e=this.percentStart,d=this.percentEnd;if(this.rotate)var f=d,d=e,e=f;if(37==a.keyCode||40==a.keyCode)e-=.02*b,d-=.02*c;if(39==a.keyCode||38==a.keyCode)e+=.02*b,d+=.02*c;this.rotate&&(a=d,d=e,e=a);isNaN(d)||isNaN(e)||this.percentZoom(e,d,!0)},updateScrollbarSize:function(a,b){if(!isNaN(a)&&
251
+ !isNaN(b)){a=Math.round(a);b=Math.round(b);var c=this.dragger,e,d,f,h,k;this.rotate?(e=0,d=a,f=this.width+1,h=b-a,c.setAttr("height",b-a),c.setAttr("y",d)):(e=a,d=0,f=b-a,h=this.height+1,k=b-a,c.setAttr("x",e),c.setAttr("width",k));this.clipAndUpdate(e,d,f,h)}},update:function(){var a,b=!1,c,e,d=this.x,f=this.y,h=this.dragger,k=this.getDBox();if(k){c=k.x+d;e=k.y+f;var l=k.width,k=k.height,m=this.rotate,n=this.chart,q=this.width,p=this.height,t=n.mouseX,n=n.mouseY;a=this.initialMouse;this.forceClip&&
252
+ this.clipDragger(!0);if(this.dragging){var r=this.initialCoord;if(m)a=r+(n-a),0>a&&(a=0),r=p-k,a>r&&(a=r),h.setAttr("y",a);else{a=r+(t-a);0>a&&(a=0);r=q-l;if(a>r||isNaN(a))a=r;h.setAttr("x",a)}this.clipDragger(!0)}if(this.resizingRight){if(m)if(a=n-e,!isNaN(this.maxHeight)&&a>this.maxHeight&&(a=this.maxHeight),a+e>p+f&&(a=p-e+f),0>a)this.resizingRight=!1,b=this.resizingLeft=!0;else{if(0===a||isNaN(a))a=.1;h.setAttr("height",a)}else if(a=t-c,!isNaN(this.maxWidth)&&a>this.maxWidth&&(a=this.maxWidth),
253
+ a+c>q+d&&(a=q-c+d),0>a)this.resizingRight=!1,b=this.resizingLeft=!0;else{if(0===a||isNaN(a))a=.1;h.setAttr("width",a)}this.clipDragger(!0)}if(this.resizingLeft){if(m)if(c=e,e=n,e<f&&(e=f),isNaN(e)&&(e=f),e>p+f&&(e=p+f),a=!0===b?c-e:k+c-e,!isNaN(this.maxHeight)&&a>this.maxHeight&&(a=this.maxHeight,e=c),0>a)this.resizingRight=!0,this.resizingLeft=!1,h.setAttr("y",c+k-f);else{if(0===a||isNaN(a))a=.1;h.setAttr("y",e-f);h.setAttr("height",a)}else if(e=t,e<d&&(e=d),isNaN(e)&&(e=d),e>q+d&&(e=q+d),a=!0===
254
+ b?c-e:l+c-e,!isNaN(this.maxWidth)&&a>this.maxWidth&&(a=this.maxWidth,e=c),0>a)this.resizingRight=!0,this.resizingLeft=!1,h.setAttr("x",c+l-d);else{if(0===a||isNaN(a))a=.1;h.setAttr("x",e-d);h.setAttr("width",a)}this.clipDragger(!0)}}},stopForceClip:function(){this.animating=this.forceClip=!1},clipDragger:function(a){var b=this.getDBox();if(b){var c=b.x,e=b.y,d=b.width,b=b.height,f=!1;if(this.rotate){if(c=0,d=this.width+1,this.clipY!=e||this.clipH!=b)f=!0}else if(e=0,b=this.height+1,this.clipX!=c||
255
+ this.clipW!=d)f=!0;f&&this.clipAndUpdate(c,e,d,b);a&&(this.updateOnReleaseOnly||this.dispatchScrollbarEvent())}},maskGraphs:function(){},clipAndUpdate:function(a,b,c,d){this.clipX=a;this.clipY=b;this.clipW=c;this.clipH=d;this.selectedBG.setAttr("width",c);this.selectedBG.setAttr("height",d);this.selectedBG.translate(a,b);this.updateDragIconPositions();this.maskGraphs(a,b,c,d)},dispatchScrollbarEvent:function(){if(this.skipEvent)this.skipEvent=!1;else{var a=this.chart;a.hideBalloon();var b=this.getDBox(),
256
+ c=b.x,d=b.y,g=b.width,b=b.height;this.getPercents();this.rotate?(c=d,g=this.height/b):g=this.width/g;a={type:"zoomed",position:c,chart:a,target:this,multiplier:g,relativeStart:this.percentStart,relativeEnd:this.percentEnd};if(this.percentStart!=this.prevPercentStart||this.percentEnd!=this.prevPercentEnd||this.prevMultiplier!=g)this.fire(a),this.prevPercentStart=this.percentStart,this.prevPercentEnd=this.percentEnd,this.prevMultiplier=g}},updateDragIconPositions:function(){var a=this.getDBox(),b=a.x,
257
+ c=a.y,d=this.iconLeft,g=this.iconRight,f,h,k=this.scrollbarHeight;this.rotate?(f=this.dragIconWidth,h=this.dragIconHeight,d.translate((k-h)/2,c-f/2),g.translate((k-h)/2,c+a.height-f/2)):(f=this.dragIconHeight,h=this.dragIconWidth,d.translate(b-h/2,(k-f)/2),g.translate(b-h/2+a.width,(k-f)/2))},showDragIcons:function(){this.resizeEnabled&&(this.iconLeft.show(),this.iconRight.show())},hideDragIcons:function(){if(!this.resizingLeft&&!this.resizingRight&&!this.dragging){if(this.hideResizeGrips||!this.resizeEnabled)this.iconLeft.hide(),
258
+ this.iconRight.hide();this.removeCursors()}},removeCursors:function(){this.chart.setMouseCursor("auto")},fireZoomEvent:function(a){this.fire({type:a,chart:this.chart,target:this})},percentZoom:function(a,b,c){a=d.fitToBounds(a,0,b);b=d.fitToBounds(b,a,1);if(this.dragger&&this.enabled){this.dragger.stop();isNaN(a)&&(a=0);isNaN(b)&&(b=1);var e,g;this.rotate?(e=this.height,b=e-e*b,g=e-e*a):(e=this.width,g=e*b,b=e*a);this.updateScrollbarSize(b,g);this.clipDragger(!1);this.getPercents();c&&this.dispatchScrollbarEvent()}},
259
+ destroy:function(){this.clear();d.remove(this.set);d.remove(this.iconRight);d.remove(this.iconLeft)},clear:function(){},handleDragStart:function(){if(this.enabled){this.fireZoomEvent("zoomStarted");var a=this.chart;this.dragger.stop();this.removeCursors();d.isModern&&(this.dragger.node.style.cssText=this.dragCursorDown);this.dragging=!0;var b=this.getDBox();this.rotate?(this.initialCoord=b.y,this.initialMouse=a.mouseY):(this.initialCoord=b.x,this.initialMouse=a.mouseX)}},handleDragStop:function(){this.updateOnReleaseOnly&&
260
+ (this.update(),this.skipEvent=!1,this.dispatchScrollbarEvent());this.dragging=!1;this.mouseIsOver&&this.removeCursors();d.isModern&&(this.dragger.node.style.cssText=this.dragCursorHover);this.update();this.fireZoomEvent("zoomEnded")},handleDraggerOver:function(){this.handleMouseOver();d.isModern&&(this.dragger.node.style.cssText=this.dragCursorHover)},leftDragStart:function(){this.fireZoomEvent("zoomStarted");this.dragger.stop();this.resizingLeft=!0;this.updateGripCursor(!0)},updateGripCursor:function(a){d.isModern&&
261
+ (a=this.rotate?a?this.vResizeCursorDown:this.vResizeCursorHover:a?this.hResizeCursorDown:this.hResizeCursorHover)&&(this.iconRight&&(this.iconRight.node.style.cssText=a),this.iconLeft&&(this.iconLeft.node.style.cssText=a))},leftDragStop:function(){this.resizingLeft&&(this.resizingLeft=!1,this.mouseIsOver||this.removeCursors(),this.updateOnRelease(),this.fireZoomEvent("zoomEnded"));this.updateGripCursor(!1)},rightDragStart:function(){this.fireZoomEvent("zoomStarted");this.dragger.stop();this.resizingRight=
262
+ !0;this.updateGripCursor(!0)},rightDragStop:function(){this.resizingRight&&(this.resizingRight=!1,this.mouseIsOver||this.removeCursors(),this.updateOnRelease(),this.fireZoomEvent("zoomEnded"));this.updateGripCursor(!1)},iconRollOut:function(){this.removeCursors()},iconRollOver:function(){this.rotate?this.vResizeCursor&&this.chart.setMouseCursor(this.vResizeCursor):this.hResizeCursor&&this.chart.setMouseCursor(this.hResizeCursor);this.handleMouseOver()},getDBox:function(){if(this.dragger)return this.dragger.getBBox()},
263
+ handleBgClick:function(){var a=this;if(!a.resizingRight&&!a.resizingLeft){a.zooming=!0;var b,c,e=a.scrollDuration,g=a.dragger;b=a.getDBox();var f=b.height,h=b.width;c=a.chart;var k=a.y,l=a.x,m=a.rotate;m?(b="y",c=c.mouseY-f/2-k,c=d.fitToBounds(c,0,a.height-f)):(b="x",c=c.mouseX-h/2-l,c=d.fitToBounds(c,0,a.width-h));a.updateOnReleaseOnly?(a.skipEvent=!1,g.setAttr(b,c),a.dispatchScrollbarEvent(),a.clipDragger()):(a.animating=!0,c=Math.round(c),m?g.animate({y:c},e,">"):g.animate({x:c},e,">"),a.forceClip=
264
+ !0,clearTimeout(a.forceTO),a.forceTO=setTimeout(function(){a.stopForceClip.call(a)},5E3*e))}},updateOnRelease:function(){this.updateOnReleaseOnly&&(this.update(),this.skipEvent=!1,this.dispatchScrollbarEvent())},handleReleaseOutside:function(){if(this.set){if(this.resizingLeft||this.resizingRight||this.dragging)this.dragging=this.resizingRight=this.resizingLeft=!1,this.updateOnRelease(),this.removeCursors();this.animating=this.mouseIsOver=!1;this.hideDragIcons();this.update()}},handleMouseOver:function(){this.mouseIsOver=
265
+ !0;this.showDragIcons()},handleMouseOut:function(){this.mouseIsOver=!1;this.hideDragIcons();this.removeCursors()}})})();(function(){var d=window.AmCharts;d.ChartScrollbar=d.Class({inherits:d.SimpleChartScrollbar,construct:function(a){this.cname="ChartScrollbar";d.ChartScrollbar.base.construct.call(this,a);this.graphLineColor="#BBBBBB";this.graphLineAlpha=0;this.graphFillColor="#BBBBBB";this.graphFillAlpha=1;this.selectedGraphLineColor="#888888";this.selectedGraphLineAlpha=0;this.selectedGraphFillColor="#888888";this.selectedGraphFillAlpha=1;this.gridCount=0;this.gridColor="#FFFFFF";this.gridAlpha=.7;this.skipEvent=
266
+ this.autoGridCount=!1;this.color="#FFFFFF";this.scrollbarCreated=!1;this.oppositeAxis=!0;this.accessibleLabel="Zoom chart using cursor arrows";d.applyTheme(this,a,this.cname)},init:function(){var a=this.categoryAxis,b=this.chart,c=this.gridAxis;a||("CategoryAxis"==this.gridAxis.cname?(this.catScrollbar=!0,a=new d.CategoryAxis,a.id="scrollbar"):(a=new d.ValueAxis,a.data=b.chartData,a.id=c.id,a.type=c.type,a.maximumDate=c.maximumDate,a.minimumDate=c.minimumDate,a.minPeriod=c.minPeriod,a.minMaxField=
267
+ c.minMaxField),this.categoryAxis=a);a.chart=b;var e=b.categoryAxis;e&&(a.firstDayOfWeek=e.firstDayOfWeek);a.dateFormats=c.dateFormats;a.markPeriodChange=c.markPeriodChange;a.boldPeriodBeginning=c.boldPeriodBeginning;a.labelFunction=c.labelFunction;a.axisItemRenderer=d.RecItem;a.axisRenderer=d.RecAxis;a.guideFillRenderer=d.RecFill;a.inside=!0;a.fontSize=this.fontSize;a.tickLength=0;a.axisAlpha=0;d.isString(this.graph)&&(this.graph=d.getObjById(b.graphs,this.graph));(a=this.graph)&&this.catScrollbar&&
268
+ (c=this.valueAxis,c||(this.valueAxis=c=new d.ValueAxis,c.visible=!1,c.scrollbar=!0,c.axisItemRenderer=d.RecItem,c.axisRenderer=d.RecAxis,c.guideFillRenderer=d.RecFill,c.labelsEnabled=!1,c.chart=b),b=this.unselectedGraph,b||(b=new d.AmGraph,b.scrollbar=!0,this.unselectedGraph=b,b.negativeBase=a.negativeBase,b.noStepRisers=a.noStepRisers),b=this.selectedGraph,b||(b=new d.AmGraph,b.scrollbar=!0,this.selectedGraph=b,b.negativeBase=a.negativeBase,b.noStepRisers=a.noStepRisers));this.scrollbarCreated=!0},
269
+ draw:function(){var a=this;d.ChartScrollbar.base.draw.call(a);if(a.enabled){a.scrollbarCreated||a.init();var b=a.chart,c=b.chartData,e=a.categoryAxis,g=a.rotate,f=a.x,h=a.y,k=a.width,l=a.height,m=a.gridAxis,n=a.set;e.setOrientation(!g);e.parseDates=m.parseDates;"ValueAxis"==a.categoryAxis.cname&&(e.rotate=!g);e.equalSpacing=m.equalSpacing;e.minPeriod=m.minPeriod;e.startOnAxis=m.startOnAxis;e.width=k-1;e.height=l;e.gridCount=a.gridCount;e.gridColor=a.gridColor;e.gridAlpha=a.gridAlpha;e.color=a.color;
270
+ e.tickLength=0;e.axisAlpha=0;e.autoGridCount=a.autoGridCount;e.parseDates&&!e.equalSpacing&&e.timeZoom(b.firstTime,b.lastTime);e.minimum=a.gridAxis.fullMin;e.maximum=a.gridAxis.fullMax;e.strictMinMax=!0;e.zoom(0,c.length-1);if((m=a.graph)&&a.catScrollbar){var q=a.valueAxis,p=m.valueAxis;q.id=p.id;q.rotate=g;q.setOrientation(g);q.width=k;q.height=l;q.dataProvider=c;q.reversed=p.reversed;q.logarithmic=p.logarithmic;q.gridAlpha=0;q.axisAlpha=0;n.push(q.set);g?(q.y=h,q.x=0):(q.x=f,q.y=0);var f=Infinity,
271
+ h=-Infinity,t;for(t=0;t<c.length;t++){var r=c[t].axes[p.id].graphs[m.id].values,w;for(w in r)if(r.hasOwnProperty(w)&&"percents"!=w&&"total"!=w){var z=r[w];z<f&&(f=z);z>h&&(h=z)}}Infinity!=f&&(q.minimum=f);-Infinity!=h&&(q.maximum=h+.1*(h-f));f==h&&(--q.minimum,q.maximum+=1);void 0!==a.minimum&&(q.minimum=a.minimum);void 0!==a.maximum&&(q.maximum=a.maximum);q.zoom(0,c.length-1);w=a.unselectedGraph;w.id=m.id;w.bcn="scrollbar-graph-";w.rotate=g;w.chart=b;w.data=c;w.valueAxis=q;w.chart=m.chart;w.categoryAxis=
272
+ a.categoryAxis;w.periodSpan=m.periodSpan;w.valueField=m.valueField;w.openField=m.openField;w.closeField=m.closeField;w.highField=m.highField;w.lowField=m.lowField;w.lineAlpha=a.graphLineAlpha;w.lineColorR=a.graphLineColor;w.fillAlphas=a.graphFillAlpha;w.fillColorsR=a.graphFillColor;w.connect=m.connect;w.hidden=m.hidden;w.width=k;w.height=l;w.pointPosition=m.pointPosition;w.stepDirection=m.stepDirection;w.periodSpan=m.periodSpan;p=a.selectedGraph;p.id=m.id;p.bcn=w.bcn+"selected-";p.rotate=g;p.chart=
273
+ b;p.data=c;p.valueAxis=q;p.chart=m.chart;p.categoryAxis=e;p.periodSpan=m.periodSpan;p.valueField=m.valueField;p.openField=m.openField;p.closeField=m.closeField;p.highField=m.highField;p.lowField=m.lowField;p.lineAlpha=a.selectedGraphLineAlpha;p.lineColorR=a.selectedGraphLineColor;p.fillAlphas=a.selectedGraphFillAlpha;p.fillColorsR=a.selectedGraphFillColor;p.connect=m.connect;p.hidden=m.hidden;p.width=k;p.height=l;p.pointPosition=m.pointPosition;p.stepDirection=m.stepDirection;p.periodSpan=m.periodSpan;
274
+ b=a.graphType;b||(b=m.type);w.type=b;p.type=b;c=c.length-1;w.zoom(0,c);p.zoom(0,c);p.set.click(function(){a.handleBackgroundClick()}).mouseover(function(){a.handleMouseOver()}).mouseout(function(){a.handleMouseOut()});w.set.click(function(){a.handleBackgroundClick()}).mouseover(function(){a.handleMouseOver()}).mouseout(function(){a.handleMouseOut()});n.push(w.set);n.push(p.set)}n.push(e.set);n.push(e.labelsSet);a.bg.toBack();a.invisibleBg.toFront();a.dragger.toFront();a.iconLeft.toFront();a.iconRight.toFront()}},
275
+ timeZoom:function(a,b,c){this.startTime=a;this.endTime=b;this.timeDifference=b-a;this.skipEvent=!d.toBoolean(c);this.zoomScrollbar();this.dispatchScrollbarEvent()},zoom:function(a,b){this.start=a;this.end=b;this.skipEvent=!0;this.zoomScrollbar()},dispatchScrollbarEvent:function(){if(this.categoryAxis&&"ValueAxis"==this.categoryAxis.cname)d.ChartScrollbar.base.dispatchScrollbarEvent.call(this);else if(this.skipEvent)this.skipEvent=!1;else{var a=this.chart.chartData,b,c,e=this.dragger.getBBox();b=e.x;
276
+ var g=e.y,f=e.width,e=e.height,h=this.chart;this.rotate?(b=g,c=e):c=f;f={type:"zoomed",target:this};f.chart=h;var k=this.categoryAxis,l=this.stepWidth,g=h.minSelectedTime,e=h.maxSelectedTime,m=!1;if(k.parseDates&&!k.equalSpacing){if(a=h.lastTime,h=h.firstTime,k=Math.round(b/l)+h,b=this.dragging?k+this.timeDifference:Math.round((b+c)/l)+h,k>b&&(k=b),0<g&&b-k<g&&(b=Math.round(k+(b-k)/2),m=Math.round(g/2),k=b-m,b+=m,m=!0),0<e&&b-k>e&&(b=Math.round(k+(b-k)/2),m=Math.round(e/2),k=b-m,b+=m,m=!0),b>a&&(b=
277
+ a),b-g<k&&(k=b-g),k<h&&(k=h),k+g>b&&(b=k+g),k!=this.startTime||b!=this.endTime)this.startTime=k,this.endTime=b,f.start=k,f.end=b,f.startDate=new Date(k),f.endDate=new Date(b),this.fire(f)}else{k.startOnAxis||(b+=l/2);c-=this.stepWidth/2;g=k.xToIndex(b);b=k.getCoordinate(g)-this.stepWidth/2;b=k.xToIndex(b+c);if(g!=this.start||this.end!=b)k.startOnAxis&&(this.resizingRight&&g==b&&b++,this.resizingLeft&&g==b&&(0<g?g--:b=1)),this.start=g,this.end=this.dragging?this.start+this.difference:b,f.start=this.start,
278
+ f.end=this.end,k.parseDates&&(a[this.start]&&(f.startDate=new Date(a[this.start].time)),a[this.end]&&(f.endDate=new Date(a[this.end].time))),this.fire(f);this.percentStart=g;this.percentEnd=b}m&&this.zoomScrollbar(!0)}},zoomScrollbar:function(a){if((!(this.dragging||this.resizingLeft||this.resizingRight||this.animating)||a)&&this.dragger&&this.enabled){var b,c,d=this.chart;a=d.chartData;var g=this.categoryAxis;g.parseDates&&!g.equalSpacing?(a=g.stepWidth,c=d.firstTime,b=a*(this.startTime-c),c=a*(this.endTime-
279
+ c)):(a[this.start]&&(b=a[this.start].x[g.id]),a[this.end]&&(c=a[this.end].x[g.id]),a=g.stepWidth,g.startOnAxis||(d=a/2,b-=d,c+=d));this.stepWidth=a;isNaN(b)||isNaN(c)||this.updateScrollbarSize(b,c)}},maskGraphs:function(a,b,c,d){var g=this.selectedGraph;g&&g.set.clipRect(a,b,c,d)},handleDragStart:function(){d.ChartScrollbar.base.handleDragStart.call(this);this.difference=this.end-this.start;this.timeDifference=this.endTime-this.startTime;0>this.timeDifference&&(this.timeDifference=0)},handleBackgroundClick:function(){d.ChartScrollbar.base.handleBackgroundClick.call(this);
280
+ this.dragging||(this.difference=this.end-this.start,this.timeDifference=this.endTime-this.startTime,0>this.timeDifference&&(this.timeDifference=0))}})})();(function(){var d=window.AmCharts;d.AmBalloon=d.Class({construct:function(a){this.cname="AmBalloon";this.enabled=!0;this.fillColor="#FFFFFF";this.fillAlpha=.8;this.borderThickness=2;this.borderColor="#FFFFFF";this.borderAlpha=1;this.cornerRadius=0;this.maxWidth=220;this.horizontalPadding=8;this.verticalPadding=4;this.pointerWidth=6;this.pointerOrientation="V";this.color="#000000";this.adjustBorderColor=!0;this.show=this.follow=this.showBullet=!1;this.bulletSize=3;this.shadowAlpha=.4;this.shadowColor=
281
+ "#000000";this.fadeOutDuration=this.animationDuration=.3;this.fixedPosition=!0;this.offsetY=6;this.offsetX=1;this.textAlign="center";this.disableMouseEvents=!0;this.deltaSignX=this.deltaSignY=1;d.isModern||(this.offsetY*=1.5);this.sdy=this.sdx=0;d.applyTheme(this,a,this.cname)},draw:function(){var a=this.pointToX,b=this.pointToY;d.isModern||(this.drop=!1);var c=this.chart;d.VML&&(this.fadeOutDuration=0);this.xAnim&&c.stopAnim(this.xAnim);this.yAnim&&c.stopAnim(this.yAnim);this.sdy=this.sdx=0;if(!isNaN(a)){var e=
282
+ this.follow,g=c.container,f=this.set;d.remove(f);this.removeDiv();f=g.set();f.node.style.pointerEvents="none";this.set=f;this.mainSet?(this.mainSet.push(this.set),this.sdx=this.mainSet.x,this.sdy=this.mainSet.y):c.balloonsSet.push(f);if(this.show){var h=this.l,k=this.t,l=this.r,m=this.b,n=this.balloonColor,q=this.fillColor,p=this.borderColor,t=q;void 0!=n&&(this.adjustBorderColor?t=p=n:q=n);var r=this.horizontalPadding,w=this.verticalPadding,z=this.pointerWidth,x=this.pointerOrientation,u=this.cornerRadius,
283
+ A=c.fontFamily,y=this.fontSize;void 0==y&&(y=c.fontSize);var n=document.createElement("div"),B=c.classNamePrefix;n.className=B+"-balloon-div";this.className&&(n.className=n.className+" "+B+"-balloon-div-"+this.className);B=n.style;this.disableMouseEvents&&(B.pointerEvents="none");B.position="absolute";var D=this.minWidth,C=document.createElement("div");n.appendChild(C);var I=C.style;isNaN(D)||(I.minWidth=D-2*r+"px");I.textAlign=this.textAlign;I.maxWidth=this.maxWidth+"px";I.fontSize=y+"px";I.color=
284
+ this.color;I.fontFamily=A;C.innerHTML=this.text;c.chartDiv.appendChild(n);this.textDiv=n;var I=n.offsetWidth,H=n.offsetHeight;n.clientHeight&&(I=n.clientWidth,H=n.clientHeight);A=H+2*w;C=I+2*r;!isNaN(D)&&C<D&&(C=D);window.opera&&(A+=2);var Q=!1,y=this.offsetY;c.handDrawn&&(y+=c.handDrawScatter+2);"H"!=x?(D=a-C/2,b<k+A+10&&"down"!=x?(Q=!0,e&&(b+=y),y=b+z,this.deltaSignY=-1):(e&&(b-=y),y=b-A-z,this.deltaSignY=1)):(2*z>A&&(z=A/2),y=b-A/2,a<h+(l-h)/2?(D=a+z,this.deltaSignX=-1):(D=a-C-z,this.deltaSignX=
285
+ 1));y+A>=m&&(y=m-A);y<k&&(y=k);D<h&&(D=h);D+C>l&&(D=l-C);var k=y+w,m=D+r,M=this.shadowAlpha,P=this.shadowColor,r=this.borderThickness,ia=this.bulletSize,J,w=this.fillAlpha,aa=this.borderAlpha;this.showBullet&&(J=d.circle(g,ia,t,w),f.push(J));this.drop?(h=C/1.6,l=0,"V"==x&&(x="down"),"H"==x&&(x="left"),"down"==x&&(D=a+1,y=b-h-h/3),"up"==x&&(l=180,D=a+1,y=b+h+h/3),"left"==x&&(l=270,D=a+h+h/3+2,y=b),"right"==x&&(l=90,D=a-h-h/3+2,y=b),k=y-H/2+1,m=D-I/2-1,q=d.drop(g,h,l,q,w,r,p,aa)):0<u||0===z?(0<M&&(a=
286
+ d.rect(g,C,A,q,0,r+1,P,M,u),d.isModern?a.translate(1,1):a.translate(4,4),f.push(a)),q=d.rect(g,C,A,q,w,r,p,aa,u)):(t=[],u=[],"H"!=x?(h=a-D,h>C-z&&(h=C-z),h<z&&(h=z),t=[0,h-z,a-D,h+z,C,C,0,0],u=Q?[0,0,b-y,0,0,A,A,0]:[A,A,b-y,A,A,0,0,A]):(x=b-y,x>A-z&&(x=A-z),x<z&&(x=z),u=[0,x-z,b-y,x+z,A,A,0,0],t=a<h+(l-h)/2?[0,0,D<a?0:a-D,0,0,C,C,0]:[C,C,D+C>a?C:a-D,C,C,0,0,C]),0<M&&(a=d.polygon(g,t,u,q,0,r,P,M),a.translate(1,1),f.push(a)),q=d.polygon(g,t,u,q,w,r,p,aa));this.bg=q;f.push(q);q.toFront();d.setCN(c,q,
287
+ "balloon-bg");this.className&&d.setCN(c,q,"balloon-bg-"+this.className);g=1*this.deltaSignX;m+=this.sdx;k+=this.sdy;B.left=m+"px";B.top=k+"px";f.translate(D-g,y,1,!0);q=q.getBBox();this.bottom=y+A+1;this.yPos=q.y+y;J&&J.translate(this.pointToX-D+g,b-y);b=this.animationDuration;0<this.animationDuration&&!e&&!isNaN(this.prevX)&&(f.translate(this.prevX,this.prevY,NaN,!0),f.animate({translate:D-g+","+y},b,"easeOutSine"),n&&(B.left=this.prevTX+"px",B.top=this.prevTY+"px",this.xAnim=c.animate({node:n},
288
+ "left",this.prevTX,m,b,"easeOutSine","px"),this.yAnim=c.animate({node:n},"top",this.prevTY,k,b,"easeOutSine","px")));this.prevX=D-g;this.prevY=y;this.prevTX=m;this.prevTY=k}}},fixPrevious:function(){this.rPrevX=this.prevX;this.rPrevY=this.prevY;this.rPrevTX=this.prevTX;this.rPrevTY=this.prevTY},restorePrevious:function(){this.prevX=this.rPrevX;this.prevY=this.rPrevY;this.prevTX=this.rPrevTX;this.prevTY=this.rPrevTY},followMouse:function(){if(this.follow&&this.show){var a=this.chart.mouseX-this.offsetX*
289
+ this.deltaSignX-this.sdx,b=this.chart.mouseY-this.sdy;this.pointToX=a;this.pointToY=b;if(a!=this.previousX||b!=this.previousY)if(this.previousX=a,this.previousY=b,0===this.cornerRadius)this.draw();else{var c=this.set;if(c){var d=c.getBBox(),a=a-d.width/2,g=b-d.height-10;a<this.l&&(a=this.l);a>this.r-d.width&&(a=this.r-d.width);g<this.t&&(g=b+10);c.translate(a,g);b=this.textDiv.style;b.left=a+this.horizontalPadding+"px";b.top=g+this.verticalPadding+"px"}}}},changeColor:function(a){this.balloonColor=
290
+ a},setBounds:function(a,b,c,d){this.l=a;this.t=b;this.r=c;this.b=d;this.destroyTO&&clearTimeout(this.destroyTO)},showBalloon:function(a){if(this.text!=a||this.positionChanged)this.text=a,this.isHiding=!1,this.show=!0,this.destroyTO&&clearTimeout(this.destroyTO),a=this.chart,this.fadeAnim1&&a.stopAnim(this.fadeAnim1),this.fadeAnim2&&a.stopAnim(this.fadeAnim2),this.draw(),this.positionChanged=!1},hide:function(a){var b=this;b.text=void 0;isNaN(a)&&(a=b.fadeOutDuration);var c=b.chart;if(0<a&&!b.isHiding){b.isHiding=
291
+ !0;b.destroyTO&&clearTimeout(b.destroyTO);b.destroyTO=setTimeout(function(){b.destroy.call(b)},1E3*a);b.follow=!1;b.show=!1;var d=b.set;d&&(d.setAttr("opacity",b.fillAlpha),b.fadeAnim1=d.animate({opacity:0},a,"easeInSine"));b.textDiv&&(b.fadeAnim2=c.animate({node:b.textDiv},"opacity",1,0,a,"easeInSine",""))}else b.show=!1,b.follow=!1,b.destroy()},setPosition:function(a,b){if(a!=this.pointToX||b!=this.pointToY)this.previousX=this.pointToX,this.previousY=this.pointToY,this.pointToX=a,this.pointToY=
292
+ b,this.positionChanged=!0},followCursor:function(a){var b=this;b.follow=a;clearInterval(b.interval);var c=b.chart.mouseX-b.sdx,d=b.chart.mouseY-b.sdy;!isNaN(c)&&a&&(b.pointToX=c-b.offsetX*b.deltaSignX,b.pointToY=d,b.followMouse(),b.interval=setInterval(function(){b.followMouse.call(b)},40))},removeDiv:function(){if(this.textDiv){var a=this.textDiv.parentNode;a&&a.removeChild(this.textDiv)}},destroy:function(){clearInterval(this.interval);d.remove(this.set);this.removeDiv();this.set=null}})})();(function(){var d=window.AmCharts;d.AmCoordinateChart=d.Class({inherits:d.AmChart,construct:function(a){d.AmCoordinateChart.base.construct.call(this,a);this.theme=a;this.createEvents("rollOverGraphItem","rollOutGraphItem","clickGraphItem","doubleClickGraphItem","rightClickGraphItem","clickGraph","rollOverGraph","rollOutGraph");this.startAlpha=1;this.startDuration=0;this.startEffect="elastic";this.sequencedAnimation=!0;this.colors="#FF6600 #FCD202 #B0DE09 #0D8ECF #2A0CD0 #CD0D74 #CC0000 #00CC00 #0000CC #DDDDDD #999999 #333333 #990000".split(" ");
293
+ this.balloonDateFormat="MMM DD, YYYY";this.valueAxes=[];this.graphs=[];this.guides=[];this.gridAboveGraphs=!1;d.applyTheme(this,a,"AmCoordinateChart")},initChart:function(){d.AmCoordinateChart.base.initChart.call(this);this.drawGraphs=!0;var a=this.categoryAxis;a&&(this.categoryAxis=d.processObject(a,d.CategoryAxis,this.theme));this.processValueAxes();this.createValueAxes();this.processGraphs();this.processGuides();d.VML&&(this.startAlpha=1);this.setLegendData(this.graphs);this.gridAboveGraphs&&(this.gridSet.toFront(),
294
+ this.bulletSet.toFront(),this.balloonsSet.toFront())},createValueAxes:function(){if(0===this.valueAxes.length){var a=new d.ValueAxis;this.addValueAxis(a)}},parseData:function(){this.processValueAxes();this.processGraphs()},parseSerialData:function(a){this.chartData=[];if(a)if(0<this.processTimeout){1>this.processCount&&(this.processCount=1);var b=a.length/this.processCount;this.parseCount=Math.ceil(b)-1;for(var c=0;c<b;c++)this.delayParseSerialData(a,c)}else this.parseCount=0,this.parsePartSerialData(a,
295
+ 0,a.length,0);else this.onDataUpdated()},delayParseSerialData:function(a,b){var c=this,d=c.processCount;setTimeout(function(){c.parsePartSerialData.call(c,a,b*d,(b+1)*d,b)},c.processTimeout)},parsePartSerialData:function(a,b,c,e){c>a.length&&(c=a.length);var g=this.graphs,f={},h=this.seriesIdField;h||(h=this.categoryField);var k=!1,l,m=this.categoryAxis,n,q,p;m&&(k=m.parseDates,n=m.forceShowField,p=m.classNameField,q=m.labelColorField,l=m.categoryFunction);var t,r,w={},z;k&&(t=d.extractPeriod(m.minPeriod),
296
+ r=t.period,t=t.count,z=d.getPeriodDuration(r,t));var x={};this.lookupTable=x;var u,A=this.dataDateFormat,y={};for(u=b;u<c;u++){var B={},D=a[u];b=D[this.categoryField];B.dataContext=D;B.category=l?l(b,D,m):String(b);n&&(B.forceShow=D[n]);p&&(B.className=D[p]);q&&(B.labelColor=D[q]);x[D[h]]=B;if(k&&(m.categoryFunction?b=m.categoryFunction(b,D,m):(!A||b instanceof Date||(b=b.toString()+" |"),b=d.getDate(b,A,m.minPeriod)),b=d.resetDateToMin(b,r,t,m.firstDayOfWeek),B.category=b,B.time=b.getTime(),isNaN(B.time)))continue;
297
+ var C=this.valueAxes;B.axes={};B.x={};var I;for(I=0;I<C.length;I++){var H=C[I].id;B.axes[H]={};B.axes[H].graphs={};var Q;for(Q=0;Q<g.length;Q++){b=g[Q];var M=b.id,P=1.1;isNaN(b.gapPeriod)||(P=b.gapPeriod);var ia=b.periodValue;if(b.valueAxis.id==H){B.axes[H].graphs[M]={};var J={};J.index=u;var aa=D;b.dataProvider&&(aa=f);J.values=this.processValues(aa,b,ia);if(!b.connect||b.forceGap&&!isNaN(b.gapPeriod))if(y&&y[M]&&0<P&&B.time-w[M]>=z*P&&(y[M].gap=!0),b.forceGap){var P=0,ma;for(ma in J.values)P++;
298
+ 0<P&&(w[M]=B.time,y[M]=J)}else w[M]=B.time,y[M]=J;this.processFields(b,J,aa);J.category=B.category;J.serialDataItem=B;J.graph=b;B.axes[H].graphs[M]=J}}}this.chartData[u]=B}if(this.parseCount==e){for(a=0;a<g.length;a++)b=g[a],b.dataProvider&&this.parseGraphData(b);this.dataChanged=!1;this.dispatchDataUpdated=!0;this.onDataUpdated()}},processValues:function(a,b,c){var e={},g,f=!1;"candlestick"!=b.type&&"ohlc"!=b.type||""===c||(f=!0);for(var h="value error open close low high".split(" "),k=0;k<h.length;k++){var l=
299
+ h[k];"value"!=l&&"error"!=l&&f&&(c=l.charAt(0).toUpperCase()+l.slice(1));var m=a[b[l+"Field"]+c];null!==m&&(g=Number(m),isNaN(g)||(e[l]=g),"date"==b.valueAxis.type&&void 0!==m&&(g=d.getDate(m,b.chart.dataDateFormat),e[l]=g.getTime()))}return e},parseGraphData:function(a){var b=a.dataProvider,c=a.seriesIdField;c||(c=this.seriesIdField);c||(c=this.categoryField);var d;for(d=0;d<b.length;d++){var g=b[d],f=this.lookupTable[String(g[c])],h=a.valueAxis.id;f&&(h=f.axes[h].graphs[a.id],h.serialDataItem=f,
300
+ h.values=this.processValues(g,a,a.periodValue),this.processFields(a,h,g))}},addValueAxis:function(a){a.chart=this;this.valueAxes.push(a);this.validateData()},removeValueAxesAndGraphs:function(){var a=this.valueAxes,b;for(b=a.length-1;-1<b;b--)this.removeValueAxis(a[b])},removeValueAxis:function(a){var b=this.graphs,c;for(c=b.length-1;0<=c;c--){var d=b[c];d&&d.valueAxis==a&&this.removeGraph(d)}b=this.valueAxes;for(c=b.length-1;0<=c;c--)b[c]==a&&b.splice(c,1);this.validateData()},addGraph:function(a){this.graphs.push(a);
301
+ this.chooseGraphColor(a,this.graphs.length-1);this.validateData()},removeGraph:function(a){var b=this.graphs,c;for(c=b.length-1;0<=c;c--)b[c]==a&&(b.splice(c,1),a.destroy());this.validateData()},handleValueAxisZoom:function(){},processValueAxes:function(){var a=this.valueAxes,b;for(b=0;b<a.length;b++){var c=a[b],c=d.processObject(c,d.ValueAxis,this.theme);a[b]=c;c.chart=this;c.init();this.listenTo(c,"axisIntZoomed",this.handleValueAxisZoom);c.id||(c.id="valueAxisAuto"+b+"_"+(new Date).getTime());
302
+ void 0===c.usePrefixes&&(c.usePrefixes=this.usePrefixes)}},processGuides:function(){var a=this.guides,b=this.categoryAxis;if(a)for(var c=0;c<a.length;c++){var e=a[c];(void 0!==e.category||void 0!==e.date)&&b&&b.addGuide(e);e.id||(e.id="guideAuto"+c+"_"+(new Date).getTime());var g=e.valueAxis;g?(d.isString(g)&&(g=this.getValueAxisById(g)),g?g.addGuide(e):this.valueAxes[0].addGuide(e)):isNaN(e.value)||this.valueAxes[0].addGuide(e)}},processGraphs:function(){var a=this.graphs,b;this.graphsById={};for(b=
303
+ 0;b<a.length;b++){var c=a[b],c=d.processObject(c,d.AmGraph,this.theme);a[b]=c;this.chooseGraphColor(c,b);c.chart=this;c.init();d.isString(c.valueAxis)&&(c.valueAxis=this.getValueAxisById(c.valueAxis));c.valueAxis||(c.valueAxis=this.valueAxes[0]);c.id||(c.id="graphAuto"+b+"_"+(new Date).getTime());this.graphsById[c.id]=c}},formatString:function(a,b,c){var e=b.graph,g=e.valueAxis;if(g.duration&&g.maxInterval&&b.values.value){var f=g.numberFormatter;f||(f=chart.nf);g=d.formatDuration(b.values.value,
304
+ g.duration,"",g.durationUnits,g.maxInterval,f);a=a.split("[[value]]").join(g)}a=d.massReplace(a,{"[[title]]":e.title,"[[description]]":b.description});a=c?d.fixNewLines(a):d.fixBrakes(a);return a=d.cleanFromEmpty(a)},getBalloonColor:function(a,b,c){var e=a.lineColor,g=a.balloonColor;c&&(g=e);c=a.fillColorsR;"object"==typeof c?e=c[0]:void 0!==c&&(e=c);b.isNegative&&(c=a.negativeLineColor,a=a.negativeFillColors,"object"==typeof a?c=a[0]:void 0!==a&&(c=a),void 0!==c&&(e=c));void 0!==b.color&&(e=b.color);
305
+ void 0!==b.lineColor&&(e=b.lineColor);b=b.fillColors;void 0!==b&&(e=b,d.ifArray(b)&&(e=b[0]));void 0===g&&(g=e);return g},getGraphById:function(a){return d.getObjById(this.graphs,a)},getValueAxisById:function(a){return d.getObjById(this.valueAxes,a)},processFields:function(a,b,c){if(a.itemColors){var e=a.itemColors,g=b.index;b.color=g<e.length?e[g]:d.randomColor()}e="lineColor color alpha fillColors description bullet customBullet bulletSize bulletConfig url labelColor dashLength pattern gap className columnIndex".split(" ");
306
+ for(g=0;g<e.length;g++){var f=e[g],h=a[f+"Field"];h&&(h=c[h],d.isDefined(h)&&(b[f]=h))}b.dataContext=c},chooseGraphColor:function(a,b){if(a.lineColor)a.lineColorR=a.lineColor;else{var c;c=this.colors.length>b?this.colors[b]:a.lineColorR?a.lineColorR:d.randomColor();a.lineColorR=c}a.fillColorsR=a.fillColors?a.fillColors:a.lineColorR;a.bulletBorderColorR=a.bulletBorderColor?a.bulletBorderColor:a.useLineColorForBulletBorder?a.lineColorR:a.bulletColor;a.bulletColorR=a.bulletColor?a.bulletColor:a.lineColorR;
307
+ if(c=this.patterns)a.pattern=c[b]},handleLegendEvent:function(a){var b=a.type;if(a=a.dataItem){var c=a.hidden,d=a.showBalloon;switch(b){case "clickMarker":this.textClickEnabled&&(d?this.hideGraphsBalloon(a):this.showGraphsBalloon(a));break;case "clickLabel":d?this.hideGraphsBalloon(a):this.showGraphsBalloon(a);break;case "rollOverItem":c||this.highlightGraph(a);break;case "rollOutItem":c||this.unhighlightGraph();break;case "hideItem":this.hideGraph(a);break;case "showItem":this.showGraph(a)}}},highlightGraph:function(a){var b=
308
+ this.graphs;if(b){var c,d=.2;this.legend&&(d=this.legend.rollOverGraphAlpha);if(1!=d)for(c=0;c<b.length;c++){var g=b[c];g!=a&&g.changeOpacity(d)}}},unhighlightGraph:function(){var a;this.legend&&(a=this.legend.rollOverGraphAlpha);if(1!=a){a=this.graphs;var b;for(b=0;b<a.length;b++)a[b].changeOpacity(1)}},showGraph:function(a){a.switchable&&(a.hidden=!1,this.dataChanged=!0,"xy"!=this.type&&(this.marginsUpdated=!1),this.chartCreated&&this.initChart())},hideGraph:function(a){a.switchable&&(this.dataChanged=
309
+ !0,"xy"!=this.type&&(this.marginsUpdated=!1),a.hidden=!0,this.chartCreated&&this.initChart())},hideGraphsBalloon:function(a){a.showBalloon=!1;this.updateLegend()},showGraphsBalloon:function(a){a.showBalloon=!0;this.updateLegend()},updateLegend:function(){this.legend&&this.legend.invalidateSize()},resetAnimation:function(){this.animatable=[];var a=this.graphs;if(a){var b;for(b=0;b<a.length;b++)a[b].animationPlayed=!1}},animateAgain:function(){this.resetAnimation();this.validateNow()}})})();(function(){var d=window.AmCharts;d.TrendLine=d.Class({construct:function(a){this.cname="TrendLine";this.createEvents("click","rollOver","rollOut");this.isProtected=!1;this.dashLength=0;this.lineColor="#00CC00";this.lineThickness=this.lineAlpha=1;d.applyTheme(this,a,this.cname)},draw:function(){var a=this;a.destroy();var b=a.chart,c=b.container,e,g,f,h,k=a.categoryAxis,l=a.initialDate,m=a.initialCategory,n=a.finalDate,q=a.finalCategory,p=a.valueAxis,t=a.valueAxisX,r=a.initialXValue,w=a.finalXValue,
310
+ z=a.initialValue,x=a.finalValue,u=p.recalculateToPercents,A=b.dataDateFormat;k&&(l&&(l=d.getDate(l,A,"fff"),a.initialDate=l,e=k.dateToCoordinate(l)),m&&(e=k.categoryToCoordinate(m)),n&&(n=d.getDate(n,A,"fff"),a.finalDate=n,g=k.dateToCoordinate(n)),q&&(g=k.categoryToCoordinate(q)));t&&!u&&(isNaN(r)||(e=t.getCoordinate(r)),isNaN(w)||(g=t.getCoordinate(w)));p&&!u&&(isNaN(z)||(f=p.getCoordinate(z)),isNaN(x)||(h=p.getCoordinate(x)));if(!(isNaN(e)||isNaN(g)||isNaN(f)||isNaN(f))){b.rotate?(k=[f,h],h=[e,
311
+ g]):(k=[e,g],h=[f,h]);f=d.line(c,k,h,a.lineColor,a.lineAlpha,a.lineThickness,a.dashLength);e=k;g=h;n=k[1]-k[0];q=h[1]-h[0];0===n&&(n=.01);0===q&&(q=.01);l=n/Math.abs(n);m=q/Math.abs(q);q=90*Math.PI/180-Math.asin(n/(n*q/Math.abs(n*q)*Math.sqrt(Math.pow(n,2)+Math.pow(q,2))));n=Math.abs(5*Math.cos(q));q=Math.abs(5*Math.sin(q));e.push(k[1]-l*q,k[0]-l*q);g.push(h[1]+m*n,h[0]+m*n);h=d.polygon(c,e,g,"#ffffff",.005,0);c=c.set([h,f]);c.translate(b.marginLeftReal,b.marginTopReal);b.trendLinesSet.push(c);d.setCN(b,
312
+ f,"trend-line");d.setCN(b,f,"trend-line-"+a.id);a.line=f;a.set=c;if(f=a.initialImage)f=d.processObject(f,d.Image,a.theme),f.chart=b,f.draw(),f.translate(e[0]+f.offsetX,g[0]+f.offsetY),c.push(f.set);if(f=a.finalImage)f=d.processObject(f,d.Image,a.theme),f.chart=b,f.draw(),f.translate(e[1]+f.offsetX,g[1]+f.offsetY),c.push(f.set);c.mouseup(function(){a.handleLineClick()}).mouseover(function(){a.handleLineOver()}).mouseout(function(){a.handleLineOut()});c.touchend&&c.touchend(function(){a.handleLineClick()});
313
+ c.clipRect(0,0,b.plotAreaWidth,b.plotAreaHeight)}},handleLineClick:function(){this.fire({type:"click",trendLine:this,chart:this.chart})},handleLineOver:function(){var a=this.rollOverColor;void 0!==a&&this.line.attr({stroke:a});this.balloonText&&(clearTimeout(this.chart.hoverInt),a=this.line.getBBox(),this.chart.showBalloon(this.balloonText,this.lineColor,!0,this.x+a.x+a.width/2,this.y+a.y+a.height/2));this.fire({type:"rollOver",trendLine:this,chart:this.chart})},handleLineOut:function(){this.line.attr({stroke:this.lineColor});
314
+ this.balloonText&&this.chart.hideBalloon();this.fire({type:"rollOut",trendLine:this,chart:this.chart})},destroy:function(){d.remove(this.set)}})})();(function(){var d=window.AmCharts;d.Image=d.Class({construct:function(a){this.cname="Image";this.height=this.width=20;this.rotation=this.offsetY=this.offsetX=0;this.balloonColor=this.color="#000000";this.opacity=1;d.applyTheme(this,a,this.cname)},draw:function(){var a=this;a.set&&a.set.remove();var b=a.chart.container;a.set=b.set();var c,d;a.url?(c=b.image(a.url,0,0,a.width,a.height),d=1):a.svgPath&&(c=b.path(a.svgPath),c.setAttr("fill",a.color),c.setAttr("stroke",a.outlineColor),b=c.getBBox(),d=
315
+ Math.min(a.width/b.width,a.height/b.height));c&&(c.setAttr("opacity",a.opacity),a.set.rotate(a.rotation),c.translate(-a.width/2,-a.height/2,d),a.balloonText&&c.mouseover(function(){a.chart.showBalloon(a.balloonText,a.balloonColor,!0)}).mouseout(function(){a.chart.hideBalloon()}).touchend(function(){a.chart.hideBalloon()}).touchstart(function(){a.chart.showBalloon(a.balloonText,a.balloonColor,!0)}),a.set.push(c))},translate:function(a,b){this.set&&this.set.translate(a,b)}})})();(function(){var d=window.AmCharts;d.circle=function(a,b,c,e,g,f,h,k,l){0>=b&&(b=.001);if(void 0==g||0===g)g=.01;void 0===f&&(f="#000000");void 0===h&&(h=0);e={fill:c,stroke:f,"fill-opacity":e,"stroke-width":g,"stroke-opacity":h};a=isNaN(l)?a.circle(0,0,b).attr(e):a.ellipse(0,0,b,l).attr(e);k&&a.gradient("radialGradient",[c,d.adjustLuminosity(c,-.6)]);return a};d.text=function(a,b,c,e,g,f,h,k){f||(f="middle");"right"==f&&(f="end");"left"==f&&(f="start");isNaN(k)&&(k=1);void 0!==b&&(b=String(b),d.isIE&&
316
+ !d.isModern&&(b=b.replace("&amp;","&"),b=b.replace("&","&amp;")));c={fill:c,"font-family":e,"font-size":g+"px",opacity:k};!0===h&&(c["font-weight"]="bold");c["text-anchor"]=f;return a.text(b,c)};d.polygon=function(a,b,c,e,g,f,h,k,l,m,n){isNaN(f)&&(f=.01);isNaN(k)&&(k=g);var q=e,p=!1;"object"==typeof q&&1<q.length&&(p=!0,q=q[0]);void 0===h&&(h=q);g={fill:q,stroke:h,"fill-opacity":g,"stroke-width":f,"stroke-opacity":k};void 0!==n&&0<n&&(g["stroke-dasharray"]=n);n=d.dx;f=d.dy;a.handDrawn&&(c=d.makeHD(b,
317
+ c,a.handDrawScatter),b=c[0],c=c[1]);h=Math.round;m&&(h=Number);k="M"+(h(b[0])+n)+","+(h(c[0])+f);for(q=1;q<b.length;q++)m&&(b[q]=d.roundTo(b[q],5),c[q]=d.roundTo(c[q],5)),k+=" L"+(h(b[q])+n)+","+(h(c[q])+f);a=a.path(k+" Z").attr(g);p&&a.gradient("linearGradient",e,l);return a};d.rect=function(a,b,c,e,g,f,h,k,l,m,n){if(isNaN(b)||isNaN(c))return a.set();isNaN(f)&&(f=0);void 0===l&&(l=0);void 0===m&&(m=270);isNaN(g)&&(g=0);var q=e,p=!1;"object"==typeof q&&(q=q[0],p=!0);void 0===h&&(h=q);void 0===k&&
318
+ (k=g);b=Math.round(b);c=Math.round(c);var t=0,r=0;0>b&&(b=Math.abs(b),t=-b);0>c&&(c=Math.abs(c),r=-c);t+=d.dx;r+=d.dy;g={fill:q,stroke:h,"fill-opacity":g,"stroke-opacity":k};void 0!==n&&0<n&&(g["stroke-dasharray"]=n);a=a.rect(t,r,b,c,l,f).attr(g);p&&a.gradient("linearGradient",e,m);return a};d.bullet=function(a,b,c,e,g,f,h,k,l,m,n,q,p){var t;"circle"==b&&(b="round");switch(b){case "round":t=d.circle(a,c/2,e,g,f,h,k);break;case "square":t=d.polygon(a,[-c/2,c/2,c/2,-c/2],[c/2,c/2,-c/2,-c/2],e,g,f,h,
319
+ k,m-180,void 0,p);break;case "rectangle":t=d.polygon(a,[-c,c,c,-c],[c/2,c/2,-c/2,-c/2],e,g,f,h,k,m-180,void 0,p);break;case "diamond":t=d.polygon(a,[-c/2,0,c/2,0],[0,-c/2,0,c/2],e,g,f,h,k);break;case "triangleUp":t=d.triangle(a,c,0,e,g,f,h,k);break;case "triangleDown":t=d.triangle(a,c,180,e,g,f,h,k);break;case "triangleLeft":t=d.triangle(a,c,270,e,g,f,h,k);break;case "triangleRight":t=d.triangle(a,c,90,e,g,f,h,k);break;case "bubble":t=d.circle(a,c/2,e,g,f,h,k,!0);break;case "line":t=d.line(a,[-c/
320
+ 2,c/2],[0,0],e,g,f,h,k);break;case "yError":t=a.set();t.push(d.line(a,[0,0],[-c/2,c/2],e,g,f));t.push(d.line(a,[-l,l],[-c/2,-c/2],e,g,f));t.push(d.line(a,[-l,l],[c/2,c/2],e,g,f));break;case "xError":t=a.set(),t.push(d.line(a,[-c/2,c/2],[0,0],e,g,f)),t.push(d.line(a,[-c/2,-c/2],[-l,l],e,g,f)),t.push(d.line(a,[c/2,c/2],[-l,l],e,g,f))}t&&t.pattern(n,NaN,q);return t};d.triangle=function(a,b,c,d,g,f,h,k){if(void 0===f||0===f)f=1;void 0===h&&(h="#000");void 0===k&&(k=0);d={fill:d,stroke:h,"fill-opacity":g,
321
+ "stroke-width":f,"stroke-opacity":k};b/=2;var l;0===c&&(l=" M"+-b+","+b+" L0,"+-b+" L"+b+","+b+" Z");180==c&&(l=" M"+-b+","+-b+" L0,"+b+" L"+b+","+-b+" Z");90==c&&(l=" M"+-b+","+-b+" L"+b+",0 L"+-b+","+b+" Z");270==c&&(l=" M"+-b+",0 L"+b+","+b+" L"+b+","+-b+" Z");return a.path(l).attr(d)};d.line=function(a,b,c,e,g,f,h,k,l,m,n){if(a.handDrawn&&!n)return d.handDrawnLine(a,b,c,e,g,f,h,k,l,m,n);f={fill:"none","stroke-width":f};void 0!==h&&0<h&&(f["stroke-dasharray"]=h);isNaN(g)||(f["stroke-opacity"]=
322
+ g);e&&(f.stroke=e);e=Math.round;m&&(e=Number,b[0]=d.roundTo(b[0],5),c[0]=d.roundTo(c[0],5));m=d.dx;g=d.dy;h="M"+(e(b[0])+m)+","+(e(c[0])+g);for(k=1;k<b.length;k++)b[k]=d.roundTo(b[k],5),c[k]=d.roundTo(c[k],5),h+=" L"+(e(b[k])+m)+","+(e(c[k])+g);if(d.VML)return a.path(h,void 0,!0).attr(f);l&&(h+=" M0,0 L0,0");return a.path(h).attr(f)};d.makeHD=function(a,b,c){for(var d=[],g=[],f=1;f<a.length;f++)for(var h=Number(a[f-1]),k=Number(b[f-1]),l=Number(a[f]),m=Number(b[f]),n=Math.round(Math.sqrt(Math.pow(l-
323
+ h,2)+Math.pow(m-k,2))/50)+1,l=(l-h)/n,m=(m-k)/n,q=0;q<=n;q++){var p=k+q*m+Math.random()*c;d.push(h+q*l+Math.random()*c);g.push(p)}return[d,g]};d.handDrawnLine=function(a,b,c,e,g,f,h,k,l,m){var n,q=a.set();for(n=1;n<b.length;n++)for(var p=[b[n-1],b[n]],t=[c[n-1],c[n]],t=d.makeHD(p,t,a.handDrawScatter),p=t[0],t=t[1],r=1;r<p.length;r++)q.push(d.line(a,[p[r-1],p[r]],[t[r-1],t[r]],e,g,f+Math.random()*a.handDrawThickness-a.handDrawThickness/2,h,k,l,m,!0));return q};d.doNothing=function(a){return a};d.drop=
324
+ function(a,b,c,d,g,f,h,k){var l=1/180*Math.PI,m=c-20,n=Math.sin(m*l)*b,q=Math.cos(m*l)*b,p=Math.sin((m+40)*l)*b,t=Math.cos((m+40)*l)*b,r=.8*b,w=-b/3,z=b/3;0===c&&(w=-w,z=0);180==c&&(z=0);90==c&&(w=0);270==c&&(w=0,z=-z);c={fill:d,stroke:h,"stroke-width":f,"stroke-opacity":k,"fill-opacity":g};b="M"+n+","+q+" A"+b+","+b+",0,1,1,"+p+","+t+(" A"+r+","+r+",0,0,0,"+(Math.sin((m+20)*l)*b+z)+","+(Math.cos((m+20)*l)*b+w));b+=" A"+r+","+r+",0,0,0,"+n+","+q;return a.path(b,void 0,void 0,"1000,1000").attr(c)};
325
+ d.wedge=function(a,b,c,e,g,f,h,k,l,m,n,q,p,t){var r=Math.round;f=r(f);h=r(h);k=r(k);var w=r(h/f*k),z=d.VML,x=359.5+f/100;359.94<x&&(x=359.94);g>=x&&(g=x);var u=1/180*Math.PI,x=b+Math.sin(e*u)*k,A=c-Math.cos(e*u)*w,y=b+Math.sin(e*u)*f,B=c-Math.cos(e*u)*h,D=b+Math.sin((e+g)*u)*f,C=c-Math.cos((e+g)*u)*h,I=b+Math.sin((e+g)*u)*k,u=c-Math.cos((e+g)*u)*w,H={fill:d.adjustLuminosity(m.fill,-.2),"stroke-opacity":0,"fill-opacity":m["fill-opacity"]},Q=0;180<Math.abs(g)&&(Q=1);e=a.set();var M;z&&(x=r(10*x),y=
326
+ r(10*y),D=r(10*D),I=r(10*I),A=r(10*A),B=r(10*B),C=r(10*C),u=r(10*u),b=r(10*b),l=r(10*l),c=r(10*c),f*=10,h*=10,k*=10,w*=10,1>Math.abs(g)&&1>=Math.abs(D-y)&&1>=Math.abs(C-B)&&(M=!0));g="";var P;q&&(H["fill-opacity"]=0,H["stroke-opacity"]=m["stroke-opacity"]/2,H.stroke=m.stroke);if(0<l){P=" M"+x+","+(A+l)+" L"+y+","+(B+l);z?(M||(P+=" A"+(b-f)+","+(l+c-h)+","+(b+f)+","+(l+c+h)+","+y+","+(B+l)+","+D+","+(C+l)),P+=" L"+I+","+(u+l),0<k&&(M||(P+=" B"+(b-k)+","+(l+c-w)+","+(b+k)+","+(l+c+w)+","+I+","+(l+u)+
327
+ ","+x+","+(l+A)))):(P+=" A"+f+","+h+",0,"+Q+",1,"+D+","+(C+l)+" L"+I+","+(u+l),0<k&&(P+=" A"+k+","+w+",0,"+Q+",0,"+x+","+(A+l)));P+=" Z";var ia=l;z&&(ia/=10);for(var J=0;J<ia;J+=10){var aa=a.path(P,void 0,void 0,"1000,1000").attr(H);e.push(aa);aa.translate(0,-J)}P=a.path(" M"+x+","+A+" L"+x+","+(A+l)+" L"+y+","+(B+l)+" L"+y+","+B+" L"+x+","+A+" Z",void 0,void 0,"1000,1000").attr(H);l=a.path(" M"+D+","+C+" L"+D+","+(C+l)+" L"+I+","+(u+l)+" L"+I+","+u+" L"+D+","+C+" Z",void 0,void 0,"1000,1000").attr(H);
328
+ e.push(P);e.push(l)}z?(M||(g=" A"+r(b-f)+","+r(c-h)+","+r(b+f)+","+r(c+h)+","+r(y)+","+r(B)+","+r(D)+","+r(C)),h=" M"+r(x)+","+r(A)+" L"+r(y)+","+r(B)+g+" L"+r(I)+","+r(u)):h=" M"+x+","+A+" L"+y+","+B+(" A"+f+","+h+",0,"+Q+",1,"+D+","+C)+" L"+I+","+u;0<k&&(z?M||(h+=" B"+(b-k)+","+(c-w)+","+(b+k)+","+(c+w)+","+I+","+u+","+x+","+A):h+=" A"+k+","+w+",0,"+Q+",0,"+x+","+A);a.handDrawn&&(k=d.line(a,[x,y],[A,B],m.stroke,m.thickness*Math.random()*a.handDrawThickness,m["stroke-opacity"]),e.push(k));a=a.path(h+
329
+ " Z",void 0,void 0,"1000,1000").attr(m);if(n){k=[];for(w=0;w<n.length;w++)k.push(d.adjustLuminosity(m.fill,n[w]));"radial"!=t||d.isModern||(k=[]);0<k.length&&a.gradient(t+"Gradient",k)}d.isModern&&"radial"==t&&a.grad&&(a.grad.setAttribute("gradientUnits","userSpaceOnUse"),a.grad.setAttribute("r",f),a.grad.setAttribute("cx",b),a.grad.setAttribute("cy",c));a.pattern(q,NaN,p);e.wedge=a;e.push(a);return e};d.rgb2hex=function(a){return(a=a.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&
330
+ 4===a.length?"#"+("0"+parseInt(a[1],10).toString(16)).slice(-2)+("0"+parseInt(a[2],10).toString(16)).slice(-2)+("0"+parseInt(a[3],10).toString(16)).slice(-2):""};d.adjustLuminosity=function(a,b){a&&-1!=a.indexOf("rgb")&&(a=d.rgb2hex(a));a=String(a).replace(/[^0-9a-f]/gi,"");6>a.length&&(a=String(a[0])+String(a[0])+String(a[1])+String(a[1])+String(a[2])+String(a[2]));b=b||0;var c="#",e,g;for(g=0;3>g;g++)e=parseInt(a.substr(2*g,2),16),e=Math.round(Math.min(Math.max(0,e+e*b),255)).toString(16),c+=("00"+
331
+ e).substr(e.length);return c}})();(function(){var d=window.AmCharts;d.Bezier=d.Class({construct:function(a,b,c,e,g,f,h,k,l,m,n){var q=a.chart,p=d.bezierX,t=d.bezierY;isNaN(q.bezierX)||(p=q.bezierX);isNaN(q.bezierY)||(t=q.bezierY);isNaN(p)&&(q.rotate?(p=20,t=4):(t=20,p=4));var r,w;"object"==typeof h&&1<h.length&&(w=!0,r=h,h=h[0]);"object"==typeof k&&(k=k[0]);0===k&&(h="none");f={fill:h,"fill-opacity":k,"stroke-width":f};void 0!==l&&0<l&&(f["stroke-dasharray"]=l);isNaN(g)||(f["stroke-opacity"]=g);e&&(f.stroke=e);e="M"+Math.round(b[0])+
332
+ ","+Math.round(c[0])+" ";g=[];for(l=0;l<b.length;l++)isNaN(b[l])||isNaN(c[l])?(e+=this.drawSegment(g,p,t),l<b.length-1&&(e+="L"+b[l+1]+","+c[l+1]+" "),g=[]):g.push({x:Number(b[l]),y:Number(c[l])});e+=this.drawSegment(g,p,t);m&&(e+=m);this.path=a.path(e).attr(f);this.node=this.path.node;w&&this.path.gradient("linearGradient",r,n)},drawSegment:function(a,b,c){var d="";if(2<a.length)for(var g=0;g<a.length-1;g++){var f=[],h=a[g-1],k=a[g],l=a[g+1],m=a[g+2];0===g?(f.push({x:k.x,y:k.y}),f.push({x:k.x,y:k.y}),
333
+ f.push({x:l.x,y:l.y}),f.push({x:m.x,y:m.y})):g>=a.length-2?(f.push({x:h.x,y:h.y}),f.push({x:k.x,y:k.y}),f.push({x:l.x,y:l.y}),f.push({x:l.x,y:l.y})):(f.push({x:h.x,y:h.y}),f.push({x:k.x,y:k.y}),f.push({x:l.x,y:l.y}),f.push({x:m.x,y:m.y}));h=[];k=Math.round;h.push({x:k(f[1].x),y:k(f[1].y)});h.push({x:k((-f[0].x+b*f[1].x+f[2].x)/b),y:k((-f[0].y+c*f[1].y+f[2].y)/c)});h.push({x:k((f[1].x+b*f[2].x-f[3].x)/b),y:k((f[1].y+c*f[2].y-f[3].y)/c)});h.push({x:k(f[2].x),y:k(f[2].y)});d+="C"+h[1].x+","+h[1].y+","+
334
+ h[2].x+","+h[2].y+","+h[3].x+","+h[3].y+" "}else 1<a.length&&(d+="L"+a[1].x+","+a[1].y);return d}})})();(function(){var d=window.AmCharts;d.AmDraw=d.Class({construct:function(a,b,c,e){d.SVG_NS="http://www.w3.org/2000/svg";d.SVG_XLINK="http://www.w3.org/1999/xlink";d.hasSVG=!!document.createElementNS&&!!document.createElementNS(d.SVG_NS,"svg").createSVGRect;1>b&&(b=10);1>c&&(c=10);this.div=a;this.width=b;this.height=c;this.rBin=document.createElement("div");d.hasSVG?(d.SVG=!0,b=this.createSvgElement("svg"),a.appendChild(b),this.container=b,this.addDefs(e),this.R=new d.SVGRenderer(this)):d.isIE&&d.VMLRenderer&&
335
+ (d.VML=!0,d.vmlStyleSheet||(document.namespaces.add("amvml","urn:schemas-microsoft-com:vml"),31>document.styleSheets.length?(b=document.createStyleSheet(),b.addRule(".amvml","behavior:url(#default#VML); display:inline-block; antialias:true"),d.vmlStyleSheet=b):document.styleSheets[0].addRule(".amvml","behavior:url(#default#VML); display:inline-block; antialias:true")),this.container=a,this.R=new d.VMLRenderer(this,e),this.R.disableSelection(a))},createSvgElement:function(a){return document.createElementNS(d.SVG_NS,
336
+ a)},circle:function(a,b,c,e){var g=new d.AmDObject("circle",this);g.attr({r:c,cx:a,cy:b});this.addToContainer(g.node,e);return g},ellipse:function(a,b,c,e,g){var f=new d.AmDObject("ellipse",this);f.attr({rx:c,ry:e,cx:a,cy:b});this.addToContainer(f.node,g);return f},setSize:function(a,b){0<a&&0<b&&(this.container.style.width=a+"px",this.container.style.height=b+"px")},rect:function(a,b,c,e,g,f,h){var k=new d.AmDObject("rect",this);d.VML&&(g=Math.round(100*g/Math.min(c,e)),c+=2*f,e+=2*f,k.bw=f,k.node.style.marginLeft=
337
+ -f,k.node.style.marginTop=-f);1>c&&(c=1);1>e&&(e=1);k.attr({x:a,y:b,width:c,height:e,rx:g,ry:g,"stroke-width":f});this.addToContainer(k.node,h);return k},image:function(a,b,c,e,g,f){var h=new d.AmDObject("image",this);h.attr({x:b,y:c,width:e,height:g});this.R.path(h,a);this.addToContainer(h.node,f);return h},addToContainer:function(a,b){b||(b=this.container);b.appendChild(a)},text:function(a,b,c){return this.R.text(a,b,c)},path:function(a,b,c,e){var g=new d.AmDObject("path",this);e||(e="100,100");
338
+ g.attr({cs:e});c?g.attr({dd:a}):g.attr({d:a});this.addToContainer(g.node,b);return g},set:function(a){return this.R.set(a)},remove:function(a){if(a){var b=this.rBin;b.appendChild(a);b.innerHTML=""}},renderFix:function(){var a=this.container,b=a.style;b.top="0px";b.left="0px";try{var c=a.getBoundingClientRect(),d=c.left-Math.round(c.left),g=c.top-Math.round(c.top);d&&(b.left=d+"px");g&&(b.top=g+"px")}catch(f){}},update:function(){this.R.update()},addDefs:function(a){if(d.hasSVG){var b=this.createSvgElement("desc"),
339
+ c=this.container;c.setAttribute("version","1.1");c.style.position="absolute";this.setSize(this.width,this.height);if(a.accessibleTitle){var e=this.createSvgElement("text");c.appendChild(e);e.innerHTML=a.accessibleTitle;e.style.opacity=0}d.rtl&&(c.setAttribute("direction","rtl"),c.style.left="auto",c.style.right="0px");a&&(a.addCodeCredits&&b.appendChild(document.createTextNode("JavaScript chart by amCharts "+a.version)),a.accessibleDescription&&(b.innerHTML="",b.appendChild(document.createTextNode(a.accessibleDescription))),
340
+ c.appendChild(b),a.defs&&(b=this.createSvgElement("defs"),c.appendChild(b),d.parseDefs(a.defs,b),this.defs=b))}}})})();(function(){var d=window.AmCharts;d.AmDObject=d.Class({construct:function(a,b){this.D=b;this.R=b.R;this.node=this.R.create(this,a);this.y=this.x=0;this.scale=1},attr:function(a){this.R.attr(this,a);return this},getAttr:function(a){return this.node.getAttribute(a)},setAttr:function(a,b){this.R.setAttr(this,a,b);return this},clipRect:function(a,b,c,d){this.R.clipRect(this,a,b,c,d)},translate:function(a,b,c,d){d||(a=Math.round(a),b=Math.round(b));this.R.move(this,a,b,c);this.x=a;this.y=b;this.scale=
341
+ c;this.angle&&this.rotate(this.angle)},rotate:function(a,b){this.R.rotate(this,a,b);this.angle=a},animate:function(a,b,c){for(var e in a)if(a.hasOwnProperty(e)){var g=e,f=a[e];c=d.getEffect(c);this.R.animate(this,g,f,b,c)}},push:function(a){if(a){var b=this.node;b.appendChild(a.node);var c=a.clipPath;c&&b.appendChild(c);(a=a.grad)&&b.appendChild(a)}},text:function(a){this.R.setText(this,a)},remove:function(){this.stop();this.R.remove(this)},clear:function(){var a=this.node;if(a.hasChildNodes())for(;1<=
342
+ a.childNodes.length;)a.removeChild(a.firstChild)},hide:function(){this.setAttr("visibility","hidden")},show:function(){this.setAttr("visibility","visible")},getBBox:function(){return this.R.getBBox(this)},toFront:function(){var a=this.node;if(a){this.prevNextNode=a.nextSibling;var b=a.parentNode;b&&b.appendChild(a)}},toPrevious:function(){var a=this.node;a&&this.prevNextNode&&(a=a.parentNode)&&a.insertBefore(this.prevNextNode,null)},toBack:function(){var a=this.node;if(a){this.prevNextNode=a.nextSibling;
343
+ var b=a.parentNode;if(b){var c=b.firstChild;c&&b.insertBefore(a,c)}}},mouseover:function(a){this.R.addListener(this,"mouseover",a);return this},mouseout:function(a){this.R.addListener(this,"mouseout",a);return this},click:function(a){this.R.addListener(this,"click",a);return this},dblclick:function(a){this.R.addListener(this,"dblclick",a);return this},mousedown:function(a){this.R.addListener(this,"mousedown",a);return this},mouseup:function(a){this.R.addListener(this,"mouseup",a);return this},touchmove:function(a){this.R.addListener(this,
344
+ "touchmove",a);return this},touchstart:function(a){this.R.addListener(this,"touchstart",a);return this},touchend:function(a){this.R.addListener(this,"touchend",a);return this},keyup:function(a){this.R.addListener(this,"keyup",a);return this},focus:function(a){this.R.addListener(this,"focus",a);return this},blur:function(a){this.R.addListener(this,"blur",a);return this},contextmenu:function(a){this.node.addEventListener?this.node.addEventListener("contextmenu",a,!0):this.R.addListener(this,"contextmenu",
345
+ a);return this},stop:function(){d.removeFromArray(this.R.animations,this.an_translate);d.removeFromArray(this.R.animations,this.an_y);d.removeFromArray(this.R.animations,this.an_x)},length:function(){return this.node.childNodes.length},gradient:function(a,b,c){this.R.gradient(this,a,b,c)},pattern:function(a,b,c){a&&this.R.pattern(this,a,b,c)}})})();(function(){var d=window.AmCharts;d.VMLRenderer=d.Class({construct:function(a,b){this.chart=b;this.D=a;this.cNames={circle:"oval",ellipse:"oval",rect:"roundrect",path:"shape"};this.styleMap={x:"left",y:"top",width:"width",height:"height","font-family":"fontFamily","font-size":"fontSize",visibility:"visibility"}},create:function(a,b){var c;if("group"==b)c=document.createElement("div"),a.type="div";else if("text"==b)c=document.createElement("div"),a.type="text";else if("image"==b)c=document.createElement("img"),
346
+ a.type="image";else{a.type="shape";a.shapeType=this.cNames[b];c=document.createElement("amvml:"+this.cNames[b]);var d=document.createElement("amvml:stroke");c.appendChild(d);a.stroke=d;var g=document.createElement("amvml:fill");c.appendChild(g);a.fill=g;g.className="amvml";d.className="amvml";c.className="amvml"}c.style.position="absolute";c.style.top=0;c.style.left=0;return c},path:function(a,b){a.node.setAttribute("src",b)},setAttr:function(a,b,c){if(void 0!==c){var e;8===document.documentMode&&
347
+ (e=!0);var g=a.node,f=a.type,h=g.style;"r"==b&&(h.width=2*c,h.height=2*c);"oval"==a.shapeType&&("rx"==b&&(h.width=2*c),"ry"==b&&(h.height=2*c));"roundrect"==a.shapeType&&("width"!=b&&"height"!=b||--c);"cursor"==b&&(h.cursor=c);"cx"==b&&(h.left=c-d.removePx(h.width)/2);"cy"==b&&(h.top=c-d.removePx(h.height)/2);var k=this.styleMap[b];"width"==k&&0>c&&(c=0);void 0!==k&&(h[k]=c);"text"==f&&("text-anchor"==b&&(a.anchor=c,k=g.clientWidth,"end"==c&&(h.marginLeft=-k+"px"),"middle"==c&&(h.marginLeft=-(k/2)+
348
+ "px",h.textAlign="center"),"start"==c&&(h.marginLeft="0px")),"fill"==b&&(h.color=c),"font-weight"==b&&(h.fontWeight=c));if(h=a.children)for(k=0;k<h.length;k++)h[k].setAttr(b,c);if("shape"==f){"cs"==b&&(g.style.width="100px",g.style.height="100px",g.setAttribute("coordsize",c));"d"==b&&g.setAttribute("path",this.svgPathToVml(c));"dd"==b&&g.setAttribute("path",c);f=a.stroke;a=a.fill;"stroke"==b&&(e?f.color=c:f.setAttribute("color",c));"stroke-width"==b&&(e?f.weight=c:f.setAttribute("weight",c));"stroke-opacity"==
349
+ b&&(e?f.opacity=c:f.setAttribute("opacity",c));"stroke-dasharray"==b&&(h="solid",0<c&&3>c&&(h="dot"),3<=c&&6>=c&&(h="dash"),6<c&&(h="longdash"),e?f.dashstyle=h:f.setAttribute("dashstyle",h));if("fill-opacity"==b||"opacity"==b)0===c?e?a.on=!1:a.setAttribute("on",!1):e?a.opacity=c:a.setAttribute("opacity",c);"fill"==b&&(e?a.color=c:a.setAttribute("color",c));"rx"==b&&(e?g.arcSize=c+"%":g.setAttribute("arcsize",c+"%"))}}},attr:function(a,b){for(var c in b)b.hasOwnProperty(c)&&this.setAttr(a,c,b[c])},
350
+ text:function(a,b,c){var e=new d.AmDObject("text",this.D),g=e.node;g.style.whiteSpace="pre";g.innerHTML=a;this.D.addToContainer(g,c);this.attr(e,b);return e},getBBox:function(a){return this.getBox(a.node)},getBox:function(a){var b=a.offsetLeft,c=a.offsetTop,d=a.offsetWidth,g=a.offsetHeight,f;if(a.hasChildNodes()){var h,k,l;for(l=0;l<a.childNodes.length;l++){f=this.getBox(a.childNodes[l]);var m=f.x;isNaN(m)||(isNaN(h)?h=m:m<h&&(h=m));var n=f.y;isNaN(n)||(isNaN(k)?k=n:n<k&&(k=n));m=f.width+m;isNaN(m)||
351
+ (d=Math.max(d,m));f=f.height+n;isNaN(f)||(g=Math.max(g,f))}0>h&&(b+=h);0>k&&(c+=k)}return{x:b,y:c,width:d,height:g}},setText:function(a,b){var c=a.node;c&&(c.innerHTML=b);this.setAttr(a,"text-anchor",a.anchor)},addListener:function(a,b,c){a.node["on"+b]=c},move:function(a,b,c){var e=a.node,g=e.style;"text"==a.type&&(c-=d.removePx(g.fontSize)/2-1);"oval"==a.shapeType&&(b-=d.removePx(g.width)/2,c-=d.removePx(g.height)/2);a=a.bw;isNaN(a)||(b-=a,c-=a);isNaN(b)||isNaN(c)||(e.style.left=b+"px",e.style.top=
352
+ c+"px")},svgPathToVml:function(a){var b=a.split(" ");a="";var c,d=Math.round,g;for(g=0;g<b.length;g++){var f=b[g],h=f.substring(0,1),f=f.substring(1),k=f.split(","),l=d(k[0])+","+d(k[1]);"M"==h&&(a+=" m "+l);"L"==h&&(a+=" l "+l);"Z"==h&&(a+=" x e");if("Q"==h){var m=c.length,n=c[m-1],q=k[0],p=k[1],l=k[2],t=k[3];c=d(c[m-2]/3+2/3*q);n=d(n/3+2/3*p);q=d(2/3*q+l/3);p=d(2/3*p+t/3);a+=" c "+c+","+n+","+q+","+p+","+l+","+t}"C"==h&&(a+=" c "+k[0]+","+k[1]+","+k[2]+","+k[3]+","+k[4]+","+k[5]);"A"==h&&(a+=" wa "+
353
+ f);"B"==h&&(a+=" at "+f);c=k}return a},animate:function(a,b,c,d,g){var f=a.node,h=this.chart;a.animationFinished=!1;if("translate"==b){b=c.split(",");c=b[1];var k=f.offsetTop;h.animate(a,"left",f.offsetLeft,b[0],d,g,"px");h.animate(a,"top",k,c,d,g,"px")}},clipRect:function(a,b,c,d,g){a=a.node;0===b&&0===c?(a.style.width=d+"px",a.style.height=g+"px",a.style.overflow="hidden"):a.style.clip="rect("+c+"px "+(b+d)+"px "+(c+g)+"px "+b+"px)"},rotate:function(a,b,c){if(0!==Number(b)){var e=a.node;a=e.style;
354
+ c||(c=this.getBGColor(e.parentNode));a.backgroundColor=c;a.paddingLeft=1;c=b*Math.PI/180;var g=Math.cos(c),f=Math.sin(c),h=d.removePx(a.left),k=d.removePx(a.top),l=e.offsetWidth,e=e.offsetHeight;b/=Math.abs(b);a.left=h+l/2-l/2*Math.cos(c)-b*e/2*Math.sin(c)+3;a.top=k-b*l/2*Math.sin(c)+b*e/2*Math.sin(c);a.cssText=a.cssText+"; filter:progid:DXImageTransform.Microsoft.Matrix(M11='"+g+"', M12='"+-f+"', M21='"+f+"', M22='"+g+"', sizingmethod='auto expand');"}},getBGColor:function(a){var b="#FFFFFF";if(a.style){var c=
355
+ a.style.backgroundColor;""!==c?b=c:a.parentNode&&(b=this.getBGColor(a.parentNode))}return b},set:function(a){var b=new d.AmDObject("group",this.D);this.D.container.appendChild(b.node);if(a){var c;for(c=0;c<a.length;c++)b.push(a[c])}return b},gradient:function(a,b,c,d){var g="";"radialGradient"==b&&(b="gradientradial",c.reverse());"linearGradient"==b&&(b="gradient");var f;for(f=0;f<c.length;f++)g+=Math.round(100*f/(c.length-1))+"% "+c[f],f<c.length-1&&(g+=",");a=a.fill;90==d?d=0:270==d?d=180:180==
356
+ d?d=90:0===d&&(d=270);8===document.documentMode?(a.type=b,a.angle=d):(a.setAttribute("type",b),a.setAttribute("angle",d));g&&(a.colors.value=g)},remove:function(a){a.clipPath&&this.D.remove(a.clipPath);this.D.remove(a.node)},disableSelection:function(a){a.onselectstart=function(){return!1};a.style.cursor="default"},pattern:function(a,b,c,e){c=a.node;a=a.fill;var g="none";b.color&&(g=b.color);c.fillColor=g;b=b.url;d.isAbsolute(b)||(b=e+b);8===document.documentMode?(a.type="tile",a.src=b):(a.setAttribute("type",
357
+ "tile"),a.setAttribute("src",b))},update:function(){}})})();(function(){var d=window.AmCharts;d.SVGRenderer=d.Class({construct:function(a){this.D=a;this.animations=[]},create:function(a,b){return document.createElementNS(d.SVG_NS,b)},attr:function(a,b){for(var c in b)b.hasOwnProperty(c)&&this.setAttr(a,c,b[c])},setAttr:function(a,b,c){void 0!==c&&a.node.setAttribute(b,c)},animate:function(a,b,c,e,g){a.animationFinished=!1;var f=a.node;a["an_"+b]&&d.removeFromArray(this.animations,a["an_"+b]);"translate"==b?(f=(f=f.getAttribute("transform"))?String(f).substring(10,
358
+ f.length-1):"0,0",f=f.split(", ").join(" "),f=f.split(" ").join(","),0===f&&(f="0,0")):f=Number(f.getAttribute(b));c={obj:a,frame:0,attribute:b,from:f,to:c,time:e,effect:g};this.animations.push(c);a["an_"+b]=c},update:function(){var a,b=this.animations;for(a=b.length-1;0<=a;a--){var c=b[a],e=c.time*d.updateRate,g=c.frame+1,f=c.obj,h=c.attribute,k,l,m;if(g<=e){c.frame++;if("translate"==h){k=c.from.split(",");h=Number(k[0]);k=Number(k[1]);isNaN(k)&&(k=0);l=c.to.split(",");m=Number(l[0]);l=Number(l[1]);
359
+ m=0===m-h?m:Math.round(d[c.effect](0,g,h,m-h,e));c=0===l-k?l:Math.round(d[c.effect](0,g,k,l-k,e));h="transform";if(isNaN(m)||isNaN(c))continue;c="translate("+m+","+c+")"}else l=Number(c.from),k=Number(c.to),m=k-l,c=d[c.effect](0,g,l,m,e),isNaN(c)&&(c=k),0===m&&this.animations.splice(a,1);this.setAttr(f,h,c)}else"translate"==h?(l=c.to.split(","),m=Number(l[0]),l=Number(l[1]),f.translate(m,l)):(k=Number(c.to),this.setAttr(f,h,k)),f.animationFinished=!0,this.animations.splice(a,1)}},getBBox:function(a){if(a=
360
+ a.node)try{return a.getBBox()}catch(b){}return{width:0,height:0,x:0,y:0}},path:function(a,b){a.node.setAttributeNS(d.SVG_XLINK,"xlink:href",b)},clipRect:function(a,b,c,e,g){var f=a.node,h=a.clipPath;h&&this.D.remove(h);var k=f.parentNode;k&&(f=document.createElementNS(d.SVG_NS,"clipPath"),h=d.getUniqueId(),f.setAttribute("id",h),this.D.rect(b,c,e,g,0,0,f),k.appendChild(f),b="#",d.baseHref&&!d.isIE&&(b=this.removeTarget(window.location.href)+b),this.setAttr(a,"clip-path","url("+b+h+")"),this.clipPathC++,
361
+ a.clipPath=f)},text:function(a,b,c){var e=new d.AmDObject("text",this.D);a=String(a).split("\n");var g=d.removePx(b["font-size"]),f;for(f=0;f<a.length;f++){var h=this.create(null,"tspan");h.appendChild(document.createTextNode(a[f]));h.setAttribute("y",(g+2)*f+Math.round(g/2));h.setAttribute("x",0);e.node.appendChild(h)}e.node.setAttribute("y",Math.round(g/2));this.attr(e,b);this.D.addToContainer(e.node,c);return e},setText:function(a,b){var c=a.node;c&&(c.removeChild(c.firstChild),c.appendChild(document.createTextNode(b)))},
362
+ move:function(a,b,c,d){isNaN(b)&&(b=0);isNaN(c)&&(c=0);b="translate("+b+","+c+")";d&&(b=b+" scale("+d+")");this.setAttr(a,"transform",b)},rotate:function(a,b){var c=a.node.getAttribute("transform"),d="rotate("+b+")";c&&(d=c+" "+d);this.setAttr(a,"transform",d)},set:function(a){var b=new d.AmDObject("g",this.D);this.D.container.appendChild(b.node);if(a){var c;for(c=0;c<a.length;c++)b.push(a[c])}return b},addListener:function(a,b,c){a.node["on"+b]=c},gradient:function(a,b,c,e){var g=a.node,f=a.grad;
363
+ f&&this.D.remove(f);b=document.createElementNS(d.SVG_NS,b);f=d.getUniqueId();b.setAttribute("id",f);if(!isNaN(e)){var h=0,k=0,l=0,m=0;90==e?l=100:270==e?m=100:180==e?h=100:0===e&&(k=100);b.setAttribute("x1",h+"%");b.setAttribute("x2",k+"%");b.setAttribute("y1",l+"%");b.setAttribute("y2",m+"%")}for(e=0;e<c.length;e++)h=document.createElementNS(d.SVG_NS,"stop"),k=100*e/(c.length-1),0===e&&(k=0),h.setAttribute("offset",k+"%"),h.setAttribute("stop-color",c[e]),b.appendChild(h);g.parentNode.appendChild(b);
364
+ c="#";d.baseHref&&!d.isIE&&(c=this.removeTarget(window.location.href)+c);g.setAttribute("fill","url("+c+f+")");a.grad=b},removeTarget:function(a){return a.split("#")[0]},pattern:function(a,b,c,e){var g=a.node;isNaN(c)&&(c=1);var f=a.patternNode;f&&this.D.remove(f);var f=document.createElementNS(d.SVG_NS,"pattern"),h=d.getUniqueId(),k=b;b.url&&(k=b.url);d.isAbsolute(k)||-1!=k.indexOf("data:image")||(k=e+k);e=Number(b.width);isNaN(e)&&(e=4);var l=Number(b.height);isNaN(l)&&(l=4);e/=c;l/=c;c=b.x;isNaN(c)&&
365
+ (c=0);var m=-Math.random()*Number(b.randomX);isNaN(m)||(c=m);m=b.y;isNaN(m)&&(m=0);var n=-Math.random()*Number(b.randomY);isNaN(n)||(m=n);f.setAttribute("id",h);f.setAttribute("width",e);f.setAttribute("height",l);f.setAttribute("patternUnits","userSpaceOnUse");f.setAttribute("xlink:href",k);b.color&&(n=document.createElementNS(d.SVG_NS,"rect"),n.setAttributeNS(null,"height",e),n.setAttributeNS(null,"width",l),n.setAttributeNS(null,"fill",b.color),f.appendChild(n));this.D.image(k,0,0,e,l,f).translate(c,
366
+ m);k="#";d.baseHref&&!d.isIE&&(k=this.removeTarget(window.location.href)+k);g.setAttribute("fill","url("+k+h+")");a.patternNode=f;g.parentNode.appendChild(f)},remove:function(a){a.clipPath&&this.D.remove(a.clipPath);a.grad&&this.D.remove(a.grad);a.patternNode&&this.D.remove(a.patternNode);this.D.remove(a.node)}})})();(function(){var d=window.AmCharts;d.AmLegend=d.Class({construct:function(a){this.enabled=!0;this.cname="AmLegend";this.createEvents("rollOverMarker","rollOverItem","rollOutMarker","rollOutItem","showItem","hideItem","clickMarker","clickLabel");this.position="bottom";this.borderColor=this.color="#000000";this.borderAlpha=0;this.markerLabelGap=5;this.verticalGap=10;this.align="left";this.horizontalGap=0;this.spacing=10;this.markerDisabledColor="#AAB3B3";this.markerType="square";this.markerSize=16;this.markerBorderThickness=
367
+ this.markerBorderAlpha=1;this.marginBottom=this.marginTop=0;this.marginLeft=this.marginRight=20;this.autoMargins=!0;this.valueWidth=50;this.switchable=!0;this.switchType="x";this.switchColor="#FFFFFF";this.rollOverColor="#CC0000";this.reversedOrder=!1;this.labelText="[[title]]";this.valueText="[[value]]";this.accessibleLabel="[[title]]";this.useMarkerColorForLabels=!1;this.rollOverGraphAlpha=1;this.textClickEnabled=!1;this.equalWidths=!0;this.backgroundColor="#FFFFFF";this.backgroundAlpha=0;this.useGraphSettings=
368
+ !1;this.showEntries=!0;this.labelDx=0;d.applyTheme(this,a,this.cname)},setData:function(a){this.legendData=a;this.invalidateSize()},invalidateSize:function(){this.destroy();this.entries=[];this.valueLabels=[];var a=this.legendData;this.enabled&&(d.ifArray(a)||d.ifArray(this.data))&&this.drawLegend()},drawLegend:function(){var a=this.chart,b=this.position,c=this.width,e=a.divRealWidth,g=a.divRealHeight,f=this.div,h=this.legendData;this.data&&(h=this.combineLegend?this.legendData.concat(this.data):
369
+ this.data);isNaN(this.fontSize)&&(this.fontSize=a.fontSize);this.maxColumnsReal=this.maxColumns;if("right"==b||"left"==b)this.maxColumnsReal=1,this.autoMargins&&(this.marginLeft=this.marginRight=10);else if(this.autoMargins){this.marginRight=a.marginRight;this.marginLeft=a.marginLeft;var k=a.autoMarginOffset;"bottom"==b?(this.marginBottom=k,this.marginTop=0):(this.marginTop=k,this.marginBottom=0)}c=void 0!==c?d.toCoordinate(c,e):"right"!=b&&"left"!=b?a.realWidth:0<this.ieW?this.ieW:a.realWidth;"outside"==
370
+ b?(c=f.offsetWidth,g=f.offsetHeight,f.clientHeight&&(c=f.clientWidth,g=f.clientHeight)):(isNaN(c)||(f.style.width=c+"px"),f.className="amChartsLegend "+a.classNamePrefix+"-legend-div");this.divWidth=c;(b=this.container)?(b.container.innerHTML="",f.appendChild(b.container),b.width=c,b.height=g,b.setSize(c,g),b.addDefs(a)):b=new d.AmDraw(f,c,g,a);this.container=b;this.lx=0;this.ly=8;g=this.markerSize;g>this.fontSize&&(this.ly=g/2-1);0<g&&(this.lx+=g+this.markerLabelGap);this.titleWidth=0;if(g=this.title)g=
371
+ d.text(this.container,g,this.color,a.fontFamily,this.fontSize,"start",!0),d.setCN(a,g,"legend-title"),g.translate(this.marginLeft,this.marginTop+this.verticalGap+this.ly+1),a=g.getBBox(),this.titleWidth=a.width+15,this.titleHeight=a.height+6;this.index=this.maxLabelWidth=0;if(this.showEntries){for(a=0;a<h.length;a++)this.createEntry(h[a]);for(a=this.index=0;a<h.length;a++)this.createValue(h[a])}this.arrangeEntries();this.updateValues()},arrangeEntries:function(){var a=this.position,b=this.marginLeft+
372
+ this.titleWidth,c=this.marginRight,e=this.marginTop,g=this.marginBottom,f=this.horizontalGap,h=this.div,k=this.divWidth,l=this.maxColumnsReal,m=this.verticalGap,n=this.spacing,q=k-c-b,p=0,t=0,r=this.container;this.set&&this.set.remove();var w=r.set();this.set=w;var z=r.set();w.push(z);var x=this.entries,u,A;for(A=0;A<x.length;A++){u=x[A].getBBox();var y=u.width;y>p&&(p=y);u=u.height;u>t&&(t=u)}var y=t=0,B=f,D=0,C=0;for(A=0;A<x.length;A++){var I=x[A];this.reversedOrder&&(I=x[x.length-A-1]);u=I.getBBox();
373
+ var H;this.equalWidths?H=y*(p+n+this.markerLabelGap):(H=B,B=B+u.width+f+n);H+u.width>q&&0<A&&0!==y&&(t++,H=y=0,B=H+u.width+f+n,D=D+C+m,C=0);u.height>C&&(C=u.height);I.translate(H,D);y++;!isNaN(l)&&y>=l&&(y=0,t++,D=D+C+m,B=f,C=0);z.push(I)}u=z.getBBox();l=u.height+2*m-1;"left"==a||"right"==a?(n=u.width+2*f,k=n+b+c,h.style.width=k+"px",this.ieW=k):n=k-b-c-1;c=d.polygon(this.container,[0,n,n,0],[0,0,l,l],this.backgroundColor,this.backgroundAlpha,1,this.borderColor,this.borderAlpha);d.setCN(this.chart,
374
+ c,"legend-bg");w.push(c);w.translate(b,e);c.toBack();b=f;if("top"==a||"bottom"==a||"absolute"==a||"outside"==a)"center"==this.align?b=f+(n-u.width)/2:"right"==this.align&&(b=f+n-u.width);z.translate(b,m+1);this.titleHeight>l&&(l=this.titleHeight);e=l+e+g+1;0>e&&(e=0);"absolute"!=a&&"outside"!=a&&e>this.chart.divRealHeight&&(h.style.top="0px");h.style.height=Math.round(e)+"px";r.setSize(this.divWidth,e)},createEntry:function(a){if(!1!==a.visibleInLegend&&!a.hideFromLegend){var b=this,c=b.chart,e=b.useGraphSettings,
375
+ g=a.markerType;g&&(e=!1);a.legendEntryWidth=b.markerSize;g||(g=b.markerType);var f=a.color,h=a.alpha;a.legendKeyColor&&(f=a.legendKeyColor());a.legendKeyAlpha&&(h=a.legendKeyAlpha());var k;!0===a.hidden&&(k=f=b.markerDisabledColor);var l=a.pattern,m,n=a.customMarker;n||(n=b.customMarker);var q=b.container,p=b.markerSize,t=0,r=0,w=p/2;if(e){e=a.type;b.switchType=void 0;if("line"==e||"step"==e||"smoothedLine"==e||"ohlc"==e)m=q.set(),a.hidden||(f=a.lineColorR,k=a.bulletBorderColorR),t=d.line(q,[0,2*
376
+ p],[p/2,p/2],f,a.lineAlpha,a.lineThickness,a.dashLength),d.setCN(c,t,"graph-stroke"),m.push(t),a.bullet&&(a.hidden||(f=a.bulletColorR),t=d.bullet(q,a.bullet,a.bulletSize,f,a.bulletAlpha,a.bulletBorderThickness,k,a.bulletBorderAlpha))&&(d.setCN(c,t,"graph-bullet"),t.translate(p+1,p/2),m.push(t)),w=0,t=p,r=p/3;else{a.getGradRotation&&(m=a.getGradRotation(),0===m&&(m=180));t=a.fillColorsR;!0===a.hidden&&(t=f);if(m=b.createMarker("rectangle",t,a.fillAlphas,a.lineThickness,f,a.lineAlpha,m,l,a.dashLength))w=
377
+ p,m.translate(w,p/2);t=p}d.setCN(c,m,"graph-"+e);d.setCN(c,m,"graph-"+a.id)}else if(n)m=q.image(n,0,0,p,p);else{var z;isNaN(b.gradientRotation)||(z=180+b.gradientRotation);(m=b.createMarker(g,f,h,void 0,void 0,void 0,z,l))&&m.translate(p/2,p/2)}d.setCN(c,m,"legend-marker");b.addListeners(m,a);q=q.set([m]);b.switchable&&a.switchable&&q.setAttr("cursor","pointer");void 0!==a.id&&d.setCN(c,q,"legend-item-"+a.id);d.setCN(c,q,a.className,!0);k=b.switchType;var x;k&&"none"!=k&&0<p&&("x"==k?(x=b.createX(),
378
+ x.translate(p/2,p/2)):x=b.createV(),x.dItem=a,!0!==a.hidden?"x"==k?x.hide():x.show():"x"!=k&&x.hide(),b.switchable||x.hide(),b.addListeners(x,a),a.legendSwitch=x,q.push(x),d.setCN(c,x,"legend-switch"));k=b.color;a.showBalloon&&b.textClickEnabled&&void 0!==b.selectedColor&&(k=b.selectedColor);b.useMarkerColorForLabels&&!l&&(k=f);!0===a.hidden&&(k=b.markerDisabledColor);f=d.massReplace(b.labelText,{"[[title]]":a.title});void 0!==b.tabIndex&&(q.setAttr("tabindex",b.tabIndex),q.setAttr("role","menuitem"),
379
+ q.keyup(function(c){13==c.keyCode&&b.clickMarker(a,c)}));c.accessible&&b.accessibleLabel&&(l=d.massReplace(b.accessibleLabel,{"[[title]]":a.title}),c.makeAccessible(q,l));l=b.fontSize;m&&(p<=l&&(p=p/2+b.ly-l/2+(l+2-p)/2-r,m.translate(w,p),x&&x.translate(x.x,p)),a.legendEntryWidth=m.getBBox().width);var u;f&&(f=d.fixBrakes(f),a.legendTextReal=f,u=b.labelWidth,u=isNaN(u)?d.text(b.container,f,k,c.fontFamily,l,"start"):d.wrappedText(b.container,f,k,c.fontFamily,l,"start",!1,u,0),d.setCN(c,u,"legend-label"),
380
+ u.translate(b.lx+t,b.ly),q.push(u),b.labelDx=t,c=u.getBBox().width,b.maxLabelWidth<c&&(b.maxLabelWidth=c));b.entries[b.index]=q;a.legendEntry=b.entries[b.index];a.legendMarker=m;a.legendLabel=u;b.index++}},addListeners:function(a,b){var c=this;a&&a.mouseover(function(a){c.rollOverMarker(b,a)}).mouseout(function(a){c.rollOutMarker(b,a)}).click(function(a){c.clickMarker(b,a)})},rollOverMarker:function(a,b){this.switchable&&this.dispatch("rollOverMarker",a,b);this.dispatch("rollOverItem",a,b)},rollOutMarker:function(a,
381
+ b){this.switchable&&this.dispatch("rollOutMarker",a,b);this.dispatch("rollOutItem",a,b)},clickMarker:function(a,b){this.switchable&&(!0===a.hidden?this.dispatch("showItem",a,b):this.dispatch("hideItem",a,b));this.dispatch("clickMarker",a,b)},rollOverLabel:function(a,b){a.hidden||this.textClickEnabled&&a.legendLabel&&a.legendLabel.attr({fill:this.rollOverColor});this.dispatch("rollOverItem",a,b)},rollOutLabel:function(a,b){if(!a.hidden&&this.textClickEnabled&&a.legendLabel){var c=this.color;void 0!==
382
+ this.selectedColor&&a.showBalloon&&(c=this.selectedColor);this.useMarkerColorForLabels&&(c=a.lineColor,void 0===c&&(c=a.color));a.legendLabel.attr({fill:c})}this.dispatch("rollOutItem",a,b)},clickLabel:function(a,b){this.textClickEnabled?a.hidden||this.dispatch("clickLabel",a,b):this.switchable&&(!0===a.hidden?this.dispatch("showItem",a,b):this.dispatch("hideItem",a,b))},dispatch:function(a,b,c){a={type:a,dataItem:b,target:this,event:c,chart:this.chart};this.chart&&this.chart.handleLegendEvent(a);
383
+ this.fire(a)},createValue:function(a){var b=this,c=b.fontSize,e=b.chart;if(!1!==a.visibleInLegend&&!a.hideFromLegend){var g=b.maxLabelWidth,f=0;b.forceWidth&&(g=b.labelWidth);b.equalWidths||(b.valueAlign="left");f={x:0,y:0,width:0,height:0};a.legendLabel&&(f=a.legendLabel.getBBox());"left"==b.valueAlign&&(g=f.width);var f=f.height,h=g,k=b.markerSize;k<c+7&&(k=c+7,d.VML&&(k+=3));if(b.valueText&&0<b.valueWidth){var l=b.color;b.useMarkerColorForValues&&(l=a.color,a.legendKeyColor&&(l=a.legendKeyColor()));
384
+ !0===a.hidden&&(l=b.markerDisabledColor);var m=b.valueText,g=g+b.lx+b.labelDx+b.markerLabelGap+b.valueWidth,n="end";"left"==b.valueAlign&&(g-=b.valueWidth,n="start");c=d.text(b.container,m,l,b.chart.fontFamily,c,n);d.setCN(e,c,"legend-value");c.translate(g,b.ly);b.entries[b.index].push(c);h+=b.valueWidth+2*b.markerLabelGap;c.dItem=a;b.valueLabels.push(c);k<f+5&&(k=f+5)}b.index++;e=b.container.rect(a.legendEntryWidth,0,h,k,0,0).attr({stroke:"none",fill:"#fff","fill-opacity":.005});e.dItem=a;b.entries[b.index-
385
+ 1].push(e);e.mouseover(function(c){b.rollOverLabel(a,c)}).mouseout(function(c){b.rollOutLabel(a,c)}).click(function(c){b.clickLabel(a,c)})}},createV:function(){var a=this.markerSize;return d.polygon(this.container,[a/5,a/2,a-a/5,a/2],[a/3,a-a/5,a/5,a/1.7],this.switchColor)},createX:function(){var a=(this.markerSize-4)/2,b={stroke:this.switchColor,"stroke-width":3},c=this.container,e=d.line(c,[-a,a],[-a,a]).attr(b),a=d.line(c,[-a,a],[a,-a]).attr(b);return this.container.set([e,a])},createMarker:function(a,
386
+ b,c,e,g,f,h,k,l){var m=this.markerSize,n=this.container;g||(g=this.markerBorderColor);g||(g=b);isNaN(e)&&(e=this.markerBorderThickness);isNaN(f)&&(f=this.markerBorderAlpha);return d.bullet(n,a,m,b,c,e,g,f,m,h,k,this.chart.path,l)},validateNow:function(){this.invalidateSize()},updateValues:function(){var a=this.valueLabels,b=this.chart,c,e=this.data;if(a)for(c=0;c<a.length;c++){var g=a[c],f=g.dItem;f.periodDataItem=void 0;f.periodPercentDataItem=void 0;var h=" ";if(e)f.value?g.text(f.value):g.text("");
387
+ else{var k=null;if(void 0!==f.type){var k=f.currentDataItem,l=this.periodValueText;f.legendPeriodValueText&&(l=f.legendPeriodValueText);f.legendPeriodValueTextR&&(l=f.legendPeriodValueTextR);k?(h=this.valueText,f.legendValueText&&(h=f.legendValueText),f.legendValueTextR&&(h=f.legendValueTextR),h=b.formatString(h,k)):l&&b.formatPeriodString&&(l=d.massReplace(l,{"[[title]]":f.title}),h=b.formatPeriodString(l,f))}else h=b.formatString(this.valueText,f);l=f;k&&(l=k);var m=this.valueFunction;m&&(h=m(l,
388
+ h,b.periodDataItem));var n;this.useMarkerColorForLabels&&!k&&f.lastDataItem&&(k=f.lastDataItem);k?n=b.getBalloonColor(f,k):f.legendKeyColor&&(n=f.legendKeyColor());f.legendColorFunction&&(n=f.legendColorFunction(l,h,f.periodDataItem,f.periodPercentDataItem));g.text(h);if(!f.pattern&&(this.useMarkerColorForValues&&g.setAttr("fill",n),this.useMarkerColorForLabels)){if(g=f.legendMarker)g.setAttr("fill",n),g.setAttr("stroke",n);(g=f.legendLabel)&&(f.hidden?g.setAttr("fill",this.markerDisabledColor):g.setAttr("fill",
389
+ n))}}}},renderFix:function(){if(!d.VML&&this.enabled){var a=this.container;a&&a.renderFix()}},destroy:function(){this.div.innerHTML="";d.remove(this.set)}})})();(function(){var d=window.AmCharts;d.formatMilliseconds=function(a,b){if(-1!=a.indexOf("fff")){var c=b.getMilliseconds(),d=String(c);10>c&&(d="00"+c);10<=c&&100>c&&(d="0"+c);a=a.replace(/fff/g,d)}return a};d.extractPeriod=function(a){var b=d.stripNumbers(a),c=1;b!=a&&(c=Number(a.slice(0,a.indexOf(b))));return{period:b,count:c}};d.getDate=function(a,b,c){return a instanceof Date?d.newDate(a,c):b&&isNaN(a)?d.stringToDate(a,b):new Date(a)};d.daysInMonth=function(a){return(new Date(a.getYear(),a.getMonth()+
390
+ 1,0)).getDate()};d.newDate=function(a,b){return b&&-1==b.indexOf("fff")?new Date(a):new Date(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes(),a.getSeconds(),a.getMilliseconds())};d.resetDateToMin=function(a,b,c,e){void 0===e&&(e=1);var g,f,h,k,l,m,n;d.useUTC?(g=a.getUTCFullYear(),f=a.getUTCMonth(),h=a.getUTCDate(),k=a.getUTCHours(),l=a.getUTCMinutes(),m=a.getUTCSeconds(),n=a.getUTCMilliseconds(),a=a.getUTCDay()):(g=a.getFullYear(),f=a.getMonth(),h=a.getDate(),k=a.getHours(),l=
391
+ a.getMinutes(),m=a.getSeconds(),n=a.getMilliseconds(),a=a.getDay());switch(b){case "YYYY":g=Math.floor(g/c)*c;f=0;h=1;n=m=l=k=0;break;case "MM":f=Math.floor(f/c)*c;h=1;n=m=l=k=0;break;case "WW":h=a>=e?h-a+e:h-(7+a)+e;n=m=l=k=0;break;case "DD":n=m=l=k=0;break;case "hh":k=Math.floor(k/c)*c;n=m=l=0;break;case "mm":l=Math.floor(l/c)*c;n=m=0;break;case "ss":m=Math.floor(m/c)*c;n=0;break;case "fff":n=Math.floor(n/c)*c}d.useUTC?(a=new Date,a.setUTCFullYear(g,f,h),a.setUTCHours(k,l,m,n)):a=new Date(g,f,h,
392
+ k,l,m,n);return a};d.getPeriodDuration=function(a,b){void 0===b&&(b=1);var c;switch(a){case "YYYY":c=316224E5;break;case "MM":c=26784E5;break;case "WW":c=6048E5;break;case "DD":c=864E5;break;case "hh":c=36E5;break;case "mm":c=6E4;break;case "ss":c=1E3;break;case "fff":c=1}return c*b};d.intervals={s:{nextInterval:"ss",contains:1E3},ss:{nextInterval:"mm",contains:60,count:0},mm:{nextInterval:"hh",contains:60,count:1},hh:{nextInterval:"DD",contains:24,count:2},DD:{nextInterval:"",contains:Infinity,count:3}};
393
+ d.getMaxInterval=function(a,b){var c=d.intervals;return a>=c[b].contains?(a=Math.round(a/c[b].contains),b=c[b].nextInterval,d.getMaxInterval(a,b)):"ss"==b?c[b].nextInterval:b};d.dayNames="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" ");d.shortDayNames="Sun Mon Tue Wed Thu Fri Sat".split(" ");d.monthNames="January February March April May June July August September October November December".split(" ");d.shortMonthNames="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" ");
394
+ d.getWeekNumber=function(a){a=new Date(a);a.setHours(0,0,0);a.setDate(a.getDate()+4-(a.getDay()||7));var b=new Date(a.getFullYear(),0,1);return Math.ceil(((a-b)/864E5+1)/7)};d.stringToDate=function(a,b){var c={},e=[{pattern:"YYYY",period:"year"},{pattern:"YY",period:"year"},{pattern:"MM",period:"month"},{pattern:"M",period:"month"},{pattern:"DD",period:"date"},{pattern:"D",period:"date"},{pattern:"JJ",period:"hours"},{pattern:"J",period:"hours"},{pattern:"HH",period:"hours"},{pattern:"H",period:"hours"},
395
+ {pattern:"KK",period:"hours"},{pattern:"K",period:"hours"},{pattern:"LL",period:"hours"},{pattern:"L",period:"hours"},{pattern:"NN",period:"minutes"},{pattern:"N",period:"minutes"},{pattern:"SS",period:"seconds"},{pattern:"S",period:"seconds"},{pattern:"QQQ",period:"milliseconds"},{pattern:"QQ",period:"milliseconds"},{pattern:"Q",period:"milliseconds"}],g=!0,f=b.indexOf("AA");-1!=f&&(a.substr(f,2),"pm"==a.toLowerCase&&(g=!1));var f=b,h,k,l;for(l=0;l<e.length;l++)k=e[l].period,c[k]=0,"date"==k&&(c[k]=
396
+ 1);for(l=0;l<e.length;l++)if(h=e[l].pattern,k=e[l].period,-1!=b.indexOf(h)){var m=d.getFromDateString(h,a,f);b=b.replace(h,"");if("KK"==h||"K"==h||"LL"==h||"L"==h)g||(m+=12);c[k]=m}d.useUTC?(e=new Date,e.setUTCFullYear(c.year,c.month,c.date),e.setUTCHours(c.hours,c.minutes,c.seconds,c.milliseconds)):e=new Date(c.year,c.month,c.date,c.hours,c.minutes,c.seconds,c.milliseconds);return e};d.getFromDateString=function(a,b,c){if(void 0!==b)return c=c.indexOf(a),b=String(b),b=b.substr(c,a.length),"0"==b.charAt(0)&&
397
+ (b=b.substr(1,b.length-1)),b=Number(b),isNaN(b)&&(b=0),-1!=a.indexOf("M")&&b--,b};d.formatDate=function(a,b,c){c||(c=d);var e,g,f,h,k,l,m,n,q=d.getWeekNumber(a);d.useUTC?(e=a.getUTCFullYear(),g=a.getUTCMonth(),f=a.getUTCDate(),h=a.getUTCDay(),k=a.getUTCHours(),l=a.getUTCMinutes(),m=a.getUTCSeconds(),n=a.getUTCMilliseconds()):(e=a.getFullYear(),g=a.getMonth(),f=a.getDate(),h=a.getDay(),k=a.getHours(),l=a.getMinutes(),m=a.getSeconds(),n=a.getMilliseconds());var p=String(e).substr(2,2),t="0"+h;b=b.replace(/W/g,
398
+ q);q=k;24==q&&(q=0);var r=q;10>r&&(r="0"+r);b=b.replace(/JJ/g,r);b=b.replace(/J/g,q);r=k;0===r&&(r=24,-1!=b.indexOf("H")&&(f--,0===f&&(e=new Date(a),e.setDate(e.getDate()-1),g=e.getMonth(),f=e.getDate(),e=e.getFullYear())));a=g+1;9>g&&(a="0"+a);q=f;10>f&&(q="0"+f);var w=r;10>w&&(w="0"+w);b=b.replace(/HH/g,w);b=b.replace(/H/g,r);r=k;11<r&&(r-=12);w=r;10>w&&(w="0"+w);b=b.replace(/KK/g,w);b=b.replace(/K/g,r);r=k;0===r&&(r=12);12<r&&(r-=12);w=r;10>w&&(w="0"+w);b=b.replace(/LL/g,w);b=b.replace(/L/g,r);
399
+ r=l;10>r&&(r="0"+r);b=b.replace(/NN/g,r);b=b.replace(/N/g,l);l=m;10>l&&(l="0"+l);b=b.replace(/SS/g,l);b=b.replace(/S/g,m);m=n;10>m?m="00"+m:100>m&&(m="0"+m);l=n;10>l&&(l="00"+l);b=b.replace(/A/g,"@A@");b=b.replace(/QQQ/g,m);b=b.replace(/QQ/g,l);b=b.replace(/Q/g,n);b=b.replace(/YYYY/g,"@IIII@");b=b.replace(/YY/g,"@II@");b=b.replace(/MMMM/g,"@XXXX@");b=b.replace(/MMM/g,"@XXX@");b=b.replace(/MM/g,"@XX@");b=b.replace(/M/g,"@X@");b=b.replace(/DD/g,"@RR@");b=b.replace(/D/g,"@R@");b=b.replace(/EEEE/g,"@PPPP@");
400
+ b=b.replace(/EEE/g,"@PPP@");b=b.replace(/EE/g,"@PP@");b=b.replace(/E/g,"@P@");b=b.replace(/@IIII@/g,e);b=b.replace(/@II@/g,p);b=b.replace(/@XXXX@/g,c.monthNames[g]);b=b.replace(/@XXX@/g,c.shortMonthNames[g]);b=b.replace(/@XX@/g,a);b=b.replace(/@X@/g,g+1);b=b.replace(/@RR@/g,q);b=b.replace(/@R@/g,f);b=b.replace(/@PPPP@/g,c.dayNames[h]);b=b.replace(/@PPP@/g,c.shortDayNames[h]);b=b.replace(/@PP@/g,t);b=b.replace(/@P@/g,h);return b=12>k?b.replace(/@A@/g,c.amString):b.replace(/@A@/g,c.pmString)};d.changeDate=
401
+ function(a,b,c,e,g){if(d.useUTC)return d.changeUTCDate(a,b,c,e,g);var f=-1;void 0===e&&(e=!0);void 0===g&&(g=!1);!0===e&&(f=1);switch(b){case "YYYY":a.setFullYear(a.getFullYear()+c*f);e||g||a.setDate(a.getDate()+1);break;case "MM":b=a.getMonth();var h=a.getFullYear();a.setMonth(a.getMonth()+c*f);h==a.getFullYear()&&a.getMonth()>b+c*f&&a.setDate(a.getDate()-1);e||g||a.setDate(a.getDate()+1);break;case "DD":a.setDate(a.getDate()+c*f);break;case "WW":a.setDate(a.getDate()+c*f*7);break;case "hh":a.setHours(a.getHours()+
402
+ c*f);break;case "mm":a.setMinutes(a.getMinutes()+c*f);break;case "ss":a.setSeconds(a.getSeconds()+c*f);break;case "fff":a.setMilliseconds(a.getMilliseconds()+c*f)}return a};d.changeUTCDate=function(a,b,c,d,g){var f=-1;void 0===d&&(d=!0);void 0===g&&(g=!1);!0===d&&(f=1);switch(b){case "YYYY":a.setUTCFullYear(a.getUTCFullYear()+c*f);d||g||a.setUTCDate(a.getUTCDate()+1);break;case "MM":b=a.getUTCMonth();a.setUTCMonth(a.getUTCMonth()+c*f);a.getUTCMonth()>b+c*f&&a.setUTCDate(a.getUTCDate()-1);d||g||a.setUTCDate(a.getUTCDate()+
403
+ 1);break;case "DD":a.setUTCDate(a.getUTCDate()+c*f);break;case "WW":a.setUTCDate(a.getUTCDate()+c*f*7);break;case "hh":a.setUTCHours(a.getUTCHours()+c*f);break;case "mm":a.setUTCMinutes(a.getUTCMinutes()+c*f);break;case "ss":a.setUTCSeconds(a.getUTCSeconds()+c*f);break;case "fff":a.setUTCMilliseconds(a.getUTCMilliseconds()+c*f)}return a}})();
assets/js/amcharts/light.js ADDED
@@ -0,0 +1 @@
 
1
+ AmCharts.themes.light={themeName:"light",AmChart:{color:"#000000",backgroundColor:"#FFFFFF"},AmCoordinateChart:{colors:["#67b7dc","#fdd400","#84b761","#cc4748","#cd82ad","#2f4074","#448e4d","#b7b83f","#b9783f","#b93e3d","#913167"]},AmStockChart:{colors:["#67b7dc","#fdd400","#84b761","#cc4748","#cd82ad","#2f4074","#448e4d","#b7b83f","#b9783f","#b93e3d","#913167"]},AmSlicedChart:{colors:["#67b7dc","#fdd400","#84b761","#cc4748","#cd82ad","#2f4074","#448e4d","#b7b83f","#b9783f","#b93e3d","#913167"],outlineAlpha:1,outlineThickness:2,labelTickColor:"#000000",labelTickAlpha:0.3},AmRectangularChart:{zoomOutButtonColor:'#000000',zoomOutButtonRollOverAlpha:0.15,zoomOutButtonImage:"lens"},AxisBase:{axisColor:"#000000",axisAlpha:0.3,gridAlpha:0.1,gridColor:"#000000"},ChartScrollbar:{backgroundColor:"#000000",backgroundAlpha:0.12,graphFillAlpha:0.5,graphLineAlpha:0,selectedBackgroundColor:"#FFFFFF",selectedBackgroundAlpha:0.4,gridAlpha:0.15},ChartCursor:{cursorColor:"#000000",color:"#FFFFFF",cursorAlpha:0.5},AmLegend:{color:"#000000"},AmGraph:{lineAlpha:0.9},GaugeArrow:{color:"#000000",alpha:0.8,nailAlpha:0,innerRadius:"40%",nailRadius:15,startWidth:15,borderAlpha:0.8,nailBorderAlpha:0},GaugeAxis:{tickColor:"#000000",tickAlpha:1,tickLength:15,minorTickLength:8,axisThickness:3,axisColor:'#000000',axisAlpha:1,bandAlpha:0.8},TrendLine:{lineColor:"#c03246",lineAlpha:0.8},AreasSettings:{alpha:0.8,color:"#67b7dc",colorSolid:"#003767",unlistedAreasAlpha:0.4,unlistedAreasColor:"#000000",outlineColor:"#FFFFFF",outlineAlpha:0.5,outlineThickness:0.5,rollOverColor:"#3c5bdc",rollOverOutlineColor:"#FFFFFF",selectedOutlineColor:"#FFFFFF",selectedColor:"#f15135",unlistedAreasOutlineColor:"#FFFFFF",unlistedAreasOutlineAlpha:0.5},LinesSettings:{color:"#000000",alpha:0.8},ImagesSettings:{alpha:0.8,labelColor:"#000000",color:"#000000",labelRollOverColor:"#3c5bdc"},ZoomControl:{buttonFillAlpha:0.7,buttonIconColor:"#a7a7a7"},SmallMap:{mapColor:"#000000",rectangleColor:"#f15135",backgroundColor:"#FFFFFF",backgroundAlpha:0.7,borderThickness:1,borderAlpha:0.8},PeriodSelector:{color:"#000000"},PeriodButton:{color:"#000000",background:"transparent",opacity:0.7,border:"1px solid rgba(0, 0, 0, .3)",MozBorderRadius:"5px",borderRadius:"5px",margin:"1px",outline:"none",boxSizing:"border-box"},PeriodButtonSelected:{color:"#000000",backgroundColor:"#b9cdf5",border:"1px solid rgba(0, 0, 0, .3)",MozBorderRadius:"5px",borderRadius:"5px",margin:"1px",outline:"none",opacity:1,boxSizing:"border-box"},PeriodInputField:{color:"#000000",background:"transparent",border:"1px solid rgba(0, 0, 0, .3)",outline:"none"},DataSetSelector:{color:"#000000",selectedBackgroundColor:"#b9cdf5",rollOverBackgroundColor:"#a8b0e4"},DataSetCompareList:{color:"#000000",lineHeight:"100%",boxSizing:"initial",webkitBoxSizing:"initial",border:"1px solid rgba(0, 0, 0, .3)"},DataSetSelect:{border:"1px solid rgba(0, 0, 0, .3)",outline:"none"}};
assets/js/amcharts/serial.js ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ (function(){var e=window.AmCharts;e.AmRectangularChart=e.Class({inherits:e.AmCoordinateChart,construct:function(a){e.AmRectangularChart.base.construct.call(this,a);this.theme=a;this.createEvents("zoomed","changed");this.marginRight=this.marginBottom=this.marginTop=this.marginLeft=20;this.depth3D=this.angle=0;this.plotAreaFillColors="#FFFFFF";this.plotAreaFillAlphas=0;this.plotAreaBorderColor="#000000";this.plotAreaBorderAlpha=0;this.maxZoomFactor=20;this.zoomOutButtonImageSize=19;this.zoomOutButtonImage="lens";this.zoomOutText="Show all";this.zoomOutButtonColor="#e5e5e5";this.zoomOutButtonAlpha=0;this.zoomOutButtonRollOverAlpha=1;this.zoomOutButtonPadding=8;this.trendLines=[];this.autoMargins=!0;this.marginsUpdated=!1;this.autoMarginOffset=10;e.applyTheme(this,a,"AmRectangularChart")},initChart:function(){e.AmRectangularChart.base.initChart.call(this);this.updateDxy();!this.marginsUpdated&&this.autoMargins&&(this.resetMargins(),this.drawGraphs=!1);this.processScrollbars();this.updateMargins();this.updatePlotArea();this.updateScrollbars();this.updateTrendLines();this.updateChartCursor();this.updateValueAxes();this.scrollbarOnly||this.updateGraphs()},drawChart:function(){e.AmRectangularChart.base.drawChart.call(this);this.drawPlotArea();if(e.ifArray(this.chartData)){var a=this.chartCursor;a&&a.draw()}},resetMargins:function(){var a={},b;if("xy"==this.type){var c=this.xAxes,d=this.yAxes;for(b=0;b<c.length;b++){var g=c[b];g.ignoreAxisWidth||(g.setOrientation(!0),g.fixAxisPosition(),a[g.position]=!0)}for(b=0;b<d.length;b++)c=d[b],c.ignoreAxisWidth||(c.setOrientation(!1),c.fixAxisPosition(),a[c.position]=!0)}else{d=this.valueAxes;for(b=0;b<d.length;b++)c=d[b],c.ignoreAxisWidth||(c.setOrientation(this.rotate),c.fixAxisPosition(),a[c.position]=!0);(b=this.categoryAxis)&&!b.ignoreAxisWidth&&(b.setOrientation(!this.rotate),b.fixAxisPosition(),b.fixAxisPosition(),a[b.position]=!0)}a.left&&(this.marginLeft=0);a.right&&(this.marginRight=0);a.top&&(this.marginTop=0);a.bottom&&(this.marginBottom=0);this.fixMargins=a},measureMargins:function(){var a=this.valueAxes,b,c=this.autoMarginOffset,d=this.fixMargins,g=this.realWidth,h=this.realHeight,f=c,e=c,k=g;b=h;var m;for(m=0;m<a.length;m++)a[m].handleSynchronization(),b=this.getAxisBounds(a[m],f,k,e,b),f=Math.round(b.l),k=Math.round(b.r),e=Math.round(b.t),b=Math.round(b.b);if(a=this.categoryAxis)b=this.getAxisBounds(a,f,k,e,b),f=Math.round(b.l),k=Math.round(b.r),e=Math.round(b.t),b=Math.round(b.b);d.left&&f<c&&(this.marginLeft=Math.round(-f+c),!isNaN(this.minMarginLeft)&&this.marginLeft<this.minMarginLeft&&(this.marginLeft=this.minMarginLeft));d.right&&k>=g-c&&(this.marginRight=Math.round(k-g+c),!isNaN(this.minMarginRight)&&this.marginRight<this.minMarginRight&&(this.marginRight=this.minMarginRight));d.top&&e<c+this.titleHeight&&(this.marginTop=Math.round(this.marginTop-e+c+this.titleHeight),!isNaN(this.minMarginTop)&&this.marginTop<this.minMarginTop&&(this.marginTop=this.minMarginTop));d.bottom&&b>h-c&&(this.marginBottom=Math.round(this.marginBottom+b-h+c),!isNaN(this.minMarginBottom)&&this.marginBottom<this.minMarginBottom&&(this.marginBottom=this.minMarginBottom));this.initChart()},getAxisBounds:function(a,b,c,d,g){if(!a.ignoreAxisWidth){var h=a.labelsSet,f=a.tickLength;a.inside&&(f=0);if(h)switch(h=a.getBBox(),a.position){case "top":a=h.y;d>a&&(d=a);break;case "bottom":a=h.y+h.height;g<a&&(g=a);break;case "right":a=h.x+h.width+f+3;c<a&&(c=a);break;case "left":a=h.x-f,b>a&&(b=a)}}return{l:b,t:d,r:c,b:g}},drawZoomOutButton:function(){var a=this;if(!a.zbSet){var b=a.container.set();a.zoomButtonSet.push(b);var c=a.color,d=a.fontSize,g=a.zoomOutButtonImageSize,h=a.zoomOutButtonImage.replace(/\.[a-z]*$/i,""),f=a.langObj.zoomOutText||a.zoomOutText,l=a.zoomOutButtonColor,k=a.zoomOutButtonAlpha,m=a.zoomOutButtonFontSize,p=a.zoomOutButtonPadding;isNaN(m)||(d=m);(m=a.zoomOutButtonFontColor)&&(c=m);var m=a.zoomOutButton,n;m&&(m.fontSize&&(d=m.fontSize),m.color&&(c=m.color),m.backgroundColor&&(l=m.backgroundColor),isNaN(m.backgroundAlpha)||(a.zoomOutButtonRollOverAlpha=m.backgroundAlpha));var u=m=0,u=a.pathToImages;if(h){if(e.isAbsolute(h)||void 0===u)u="";n=a.container.image(u+h+a.extension,0,0,g,g);e.setCN(a,n,"zoom-out-image");b.push(n);n=n.getBBox();m=n.width+5}void 0!==f&&(c=e.text(a.container,f,c,a.fontFamily,d,"start"),e.setCN(a,c,"zoom-out-label"),d=c.getBBox(),u=n?n.height/2-3:d.height/2,c.translate(m,u),b.push(c));n=b.getBBox();c=1;e.isModern||(c=0);l=e.rect(a.container,n.width+2*p+5,n.height+2*p-2,l,1,1,l,c);l.setAttr("opacity",k);l.translate(-p,-p);e.setCN(a,l,"zoom-out-bg");b.push(l);l.toBack();a.zbBG=l;n=l.getBBox();b.translate(a.marginLeftReal+a.plotAreaWidth-n.width+p,a.marginTopReal+p);b.hide();b.mouseover(function(){a.rollOverZB()}).mouseout(function(){a.rollOutZB()}).click(function(){a.clickZB()}).touchstart(function(){a.rollOverZB()}).touchend(function(){a.rollOutZB();a.clickZB()});for(k=0;k<b.length;k++)b[k].attr({cursor:"pointer"});void 0!==a.zoomOutButtonTabIndex&&(b.setAttr("tabindex",a.zoomOutButtonTabIndex),b.setAttr("role","menuitem"),b.keyup(function(b){13==b.keyCode&&a.clickZB()}));a.zbSet=b}},rollOverZB:function(){this.rolledOverZB=!0;this.zbBG.setAttr("opacity",this.zoomOutButtonRollOverAlpha)},rollOutZB:function(){this.rolledOverZB=!1;this.zbBG.setAttr("opacity",this.zoomOutButtonAlpha)},clickZB:function(){this.rolledOverZB=!1;this.zoomOut()},zoomOut:function(){this.zoomOutValueAxes()},drawPlotArea:function(){var a=this.dx,b=this.dy,c=this.marginLeftReal,d=this.marginTopReal,g=this.plotAreaWidth-1,h=this.plotAreaHeight-1,f=this.plotAreaFillColors,l=this.plotAreaFillAlphas,k=this.plotAreaBorderColor,m=this.plotAreaBorderAlpha;"object"==typeof l&&(l=l[0]);f=e.polygon(this.container,[0,g,g,0,0],[0,0,h,h,0],f,l,1,k,m,this.plotAreaGradientAngle);e.setCN(this,f,"plot-area");f.translate(c+a,d+b);this.set.push(f);0!==a&&0!==b&&(f=this.plotAreaFillColors,"object"==typeof f&&(f=f[0]),f=e.adjustLuminosity(f,-.15),g=e.polygon(this.container,[0,a,g+a,g,0],[0,b,b,0,0],f,l,1,k,m),e.setCN(this,g,"plot-area-bottom"),g.translate(c,d+h),this.set.push(g),a=e.polygon(this.container,[0,0,a,a,0],[0,h,h+b,b,0],f,l,1,k,m),e.setCN(this,a,"plot-area-left"),a.translate(c,d),this.set.push(a));(c=this.bbset)&&this.scrollbarOnly&&c.remove()},updatePlotArea:function(){var a=this.updateWidth(),b=this.updateHeight(),c=this.container;this.realWidth=a;this.realWidth=b;c&&this.container.setSize(a,b);var c=this.marginLeftReal,d=this.marginTopReal,a=a-c-this.marginRightReal-this.dx,b=b-d-this.marginBottomReal;1>a&&(a=1);1>b&&(b=1);this.plotAreaWidth=Math.round(a);this.plotAreaHeight=Math.round(b);this.plotBalloonsSet.translate(c,d)},updateDxy:function(){this.dx=Math.round(this.depth3D*Math.cos(this.angle*Math.PI/180));this.dy=Math.round(-this.depth3D*Math.sin(this.angle*Math.PI/180));this.d3x=Math.round(this.columnSpacing3D*Math.cos(this.angle*Math.PI/180));this.d3y=Math.round(-this.columnSpacing3D*Math.sin(this.angle*Math.PI/180))},updateMargins:function(){var a=this.getTitleHeight();this.titleHeight=a;this.marginTopReal=this.marginTop-this.dy;this.fixMargins&&!this.fixMargins.top&&(this.marginTopReal+=a);this.marginBottomReal=this.marginBottom;this.marginLeftReal=this.marginLeft;this.marginRightReal=this.marginRight},updateValueAxes:function(){var a=this.valueAxes,b;for(b=0;b<a.length;b++){var c=a[b];this.setAxisRenderers(c);this.updateObjectSize(c)}},setAxisRenderers:function(a){a.axisRenderer=e.RecAxis;a.guideFillRenderer=e.RecFill;a.axisItemRenderer=e.RecItem;a.marginsChanged=!0},updateGraphs:function(){var a=this.graphs,b;for(b=0;b<a.length;b++){var c=a[b];c.index=b;c.rotate=this.rotate;this.updateObjectSize(c)}},updateObjectSize:function(a){a.width=this.plotAreaWidth-1;a.height=this.plotAreaHeight-1;a.x=this.marginLeftReal;a.y=this.marginTopReal;a.dx=this.dx;a.dy=this.dy},updateChartCursor:function(){var a=this.chartCursor;a&&(a=e.processObject(a,e.ChartCursor,this.theme),this.updateObjectSize(a),this.addChartCursor(a),a.chart=this)},processScrollbars:function(){var a=this.chartScrollbar;a&&(a=e.processObject(a,e.ChartScrollbar,this.theme),this.addChartScrollbar(a))},updateScrollbars:function(){},removeChartCursor:function(){e.callMethod("destroy",[this.chartCursor]);this.chartCursor=null},zoomTrendLines:function(){var a=this.trendLines,b;for(b=0;b<a.length;b++){var c=a[b];c.valueAxis.recalculateToPercents?c.set&&c.set.hide():(c.x=this.marginLeftReal,c.y=this.marginTopReal,c.draw())}},handleCursorValueZoom:function(){},addTrendLine:function(a){this.trendLines.push(a)},zoomOutValueAxes:function(){for(var a=this.valueAxes,b=0;b<a.length;b++)a[b].zoomOut()},removeTrendLine:function(a){var b=this.trendLines,c;for(c=b.length-1;0<=c;c--)b[c]==a&&b.splice(c,1)},adjustMargins:function(a,b){var c=a.position,d=a.scrollbarHeight+a.offset;a.enabled&&("top"==c?b?this.marginLeftReal+=d:this.marginTopReal+=d:b?this.marginRightReal+=d:this.marginBottomReal+=d)},getScrollbarPosition:function(a,b,c){var d="bottom",g="top";a.oppositeAxis||(g=d,d="top");a.position=b?"bottom"==c||"left"==c?d:g:"top"==c||"right"==c?d:g},updateChartScrollbar:function(a,b){if(a){a.rotate=b;var c=this.marginTopReal,d=this.marginLeftReal,g=a.scrollbarHeight,h=this.dx,f=this.dy,e=a.offset;"top"==a.position?b?(a.y=c,a.x=d-g-e):(a.y=c-g+f-e,a.x=d+h):b?(a.y=c+f,a.x=d+this.plotAreaWidth+h+e):(a.y=c+this.plotAreaHeight+e,a.x=this.marginLeftReal)}},showZB:function(a){var b=this.zbSet;a&&(b=this.zoomOutText,""!==b&&b&&this.drawZoomOutButton());if(b=this.zbSet)this.zoomButtonSet.push(b),a?b.show():b.hide(),this.rollOutZB()},handleReleaseOutside:function(a){e.AmRectangularChart.base.handleReleaseOutside.call(this,a);(a=this.chartCursor)&&a.handleReleaseOutside&&a.handleReleaseOutside()},handleMouseDown:function(a){e.AmRectangularChart.base.handleMouseDown.call(this,a);var b=this.chartCursor;b&&b.handleMouseDown&&!this.rolledOverZB&&b.handleMouseDown(a)},update:function(){e.AmRectangularChart.base.update.call(this);this.chartCursor&&this.chartCursor.update&&this.chartCursor.update()},handleScrollbarValueZoom:function(a){this.relativeZoomValueAxes(a.target.valueAxes,a.relativeStart,a.relativeEnd);this.zoomAxesAndGraphs()},zoomValueScrollbar:function(a){if(a&&a.enabled){var b=a.valueAxes[0],c=b.relativeStart,d=b.relativeEnd;b.reversed&&(d=1-c,c=1-b.relativeEnd);a.percentZoom(c,d)}},zoomAxesAndGraphs:function(){if(!this.scrollbarOnly){var a=this.valueAxes,b;for(b=0;b<a.length;b++)a[b].zoom(this.start,this.end);a=this.graphs;for(b=0;b<a.length;b++)a[b].zoom(this.start,this.end);(b=this.chartCursor)&&b.clearSelection();this.zoomTrendLines()}},handleValueAxisZoomReal:function(a,b){var c=a.relativeStart,d=a.relativeEnd;if(c>d)var g=c,c=d,d=g;this.relativeZoomValueAxes(b,c,d);this.updateAfterValueZoom()},updateAfterValueZoom:function(){this.zoomAxesAndGraphs();this.zoomScrollbar()},relativeZoomValueAxes:function(a,b,c){this.hideBalloonReal();b=e.fitToBounds(b,0,1);c=e.fitToBounds(c,0,1);if(b>c){var d=b;b=c;c=d}var d=1/this.maxZoomFactor,g=e.getDecimals(d)+4;c-b<d&&(c=b+(c-b)/2,b=c-d/2,c+=d/2,1<c&&(b-=c-1,c=1),0>b&&(b=0,c=d));b=e.roundTo(b,g);c=e.roundTo(c,g);d=!1;if(a){for(g=0;g<a.length;g++){var h=a[g].zoomToRelativeValues(b,c,!0);h&&(d=h)}this.showZB()}return d},addChartCursor:function(a){e.callMethod("destroy",[this.chartCursor]);a&&(this.listenTo(a,"moved",this.handleCursorMove),this.listenTo(a,"zoomed",this.handleCursorZoom),this.listenTo(a,"zoomStarted",this.handleCursorZoomStarted),this.listenTo(a,"panning",this.handleCursorPanning),this.listenTo(a,"onHideCursor",this.handleCursorHide));this.chartCursor=a},handleCursorChange:function(){},handleCursorMove:function(a){var b,c=this.valueAxes;for(b=0;b<c.length;b++)if(!a.panning){var d=c[b];d&&d.showBalloon&&d.showBalloon(a.x,a.y)}},handleCursorZoom:function(a){if(this.skipZoomed)this.skipZoomed=!1;else{var b=this.startX0,c=this.endX0,d=this.endY0,g=this.startY0,e=a.startX,f=a.endX,l=a.startY,k=a.endY;this.startX0=this.endX0=this.startY0=this.endY0=NaN;this.handleCursorZoomReal(b+e*(c-b),b+f*(c-b),g+l*(d-g),g+k*(d-g),a)}},handleCursorHide:function(){var a,b=this.valueAxes;for(a=0;a<b.length;a++)b[a].hideBalloon();b=this.graphs;for(a=0;a<b.length;a++)b[a].hideBalloonReal()}})})();(function(){var e=window.AmCharts;e.AmSerialChart=e.Class({inherits:e.AmRectangularChart,construct:function(a){this.type="serial";e.AmSerialChart.base.construct.call(this,a);this.cname="AmSerialChart";this.theme=a;this.columnSpacing=5;this.columnSpacing3D=0;this.columnWidth=.8;var b=new e.CategoryAxis(a);b.chart=this;this.categoryAxis=b;this.zoomOutOnDataUpdate=!0;this.mouseWheelZoomEnabled=this.mouseWheelScrollEnabled=this.rotate=this.skipZoom=!1;this.minSelectedTime=0;e.applyTheme(this,a,this.cname)},initChart:function(){e.AmSerialChart.base.initChart.call(this);this.updateCategoryAxis(this.categoryAxis,this.rotate,"categoryAxis");if(this.dataChanged)this.parseData();else this.onDataUpdated();this.drawGraphs=!0},onDataUpdated:function(){var a=this.countColumns(),b=this.chartData,c=this.graphs,d;for(d=0;d<c.length;d++){var g=c[d];g.data=b;g.columnCount=a}0<b.length&&(this.firstTime=this.getStartTime(b[0].time),this.lastTime=this.getEndTime(b[b.length-1].time));this.drawChart();this.autoMargins&&!this.marginsUpdated?(this.marginsUpdated=!0,this.measureMargins()):this.dispDUpd()},syncGrid:function(){if(this.synchronizeGrid){var a=this.valueAxes,b,c;if(0<a.length){var d=0;for(c=0;c<a.length;c++)b=a[c],d<b.gridCountReal&&(d=b.gridCountReal);var g=!1;for(c=0;c<a.length;c++)if(b=a[c],b.gridCountReal<d){var h=(d-b.gridCountReal)/2,f=g=h;0!==h-Math.round(h)&&(g-=.5,f+=.5);0<=b.min&&0>b.min-g*b.step&&(f+=g,g=0);0>=b.max&&0<b.max+f*b.step&&(g+=f,f=0);h=e.getDecimals(b.step);b.minimum=e.roundTo(b.min-
2
+ g*b.step,h);b.maximum=e.roundTo(b.max+f*b.step,h);b.setStep=b.step;g=b.strictMinMax=!0}g&&this.updateAfterValueZoom();for(c=0;c<a.length;c++)b=a[c],b.minimum=NaN,b.maximum=NaN,b.setStep=NaN,b.strictMinMax=!1}}},handleWheelReal:function(a,b){if(!this.wheelBusy){var c=this.categoryAxis,d=c.parseDates,g=c.minDuration(),e=1,f=1;this.mouseWheelZoomEnabled?b||(e=-1):b&&(e=-1);var l=this.chartCursor;if(l)if(l.mouseIsOver()){var k=l.mouseX,l=l.mouseY;e!=f&&(k=this.rotate?l/this.plotAreaHeight:k/this.plotAreaWidth,e*=k,f*=1-k);k=.05*(this.end-this.start);d&&(k=.05*(this.endTime-this.startTime)/g);1>k&&(k=1);e*=k;f*=k;if(!d||c.equalSpacing)e=Math.round(e),f=Math.round(f);l=this.chartData.length;c=this.lastTime;k=this.firstTime;0>a?d?(l=this.endTime-this.startTime,d=this.startTime+e*g,g=this.endTime+f*g,0<f&&0<e&&g>=c&&(g=c,d=c-l),this.zoomToDates(new Date(d),new Date(g))):(0<f&&0<e&&this.end>=l-1&&(e=f=0),d=this.start+e,g=this.end+f,this.zoomToIndexes(d,g)):d?(l=this.endTime-this.startTime,d=this.startTime-
3
+ e*g,g=this.endTime-f*g,0<f&&0<e&&d<=k&&(d=k,g=k+l),this.zoomToDates(new Date(d),new Date(g))):(0<f&&0<e&&1>this.start&&(e=f=0),d=this.start-e,g=this.end-f,this.zoomToIndexes(d,g))}else this.handleMouseOut()}},validateData:function(a){this.marginsUpdated=!1;this.zoomOutOnDataUpdate&&!a&&(this.endTime=this.end=this.startTime=this.start=NaN);var b=a=!1,c=!1,d=this.chartScrollbar;d&&(d.dragging&&(a=!0,d.handleDragStop()),d.resizingRight&&(c=!0,d.rightDragStop()),d.resizingLeft&&(b=!0,d.leftDragStop()));e.AmSerialChart.base.validateData.call(this);a&&d.handleDragStart();c&&d.rightDragStart();b&&d.leftDragStart()},drawChart:function(){if(0<this.realWidth&&0<this.realHeight){e.AmSerialChart.base.drawChart.call(this);var a=this.chartData;if(e.ifArray(a)){var b=this.chartScrollbar;!b||!this.marginsUpdated&&this.autoMargins||b.draw();(b=this.valueScrollbar)&&b.draw();var b=a.length-1,c,d;c=this.categoryAxis;if(c.parseDates&&!c.equalSpacing){if(c=this.startTime,d=this.endTime,isNaN(c)||isNaN(d))c=this.firstTime,d=this.lastTime}else{c=this.start;d=this.end;if(isNaN(c)||isNaN(d))d=c=NaN;isNaN(c)&&(isNaN(this.startTime)||(c=this.getClosestIndex(a,"time",this.startTime,!0,0,a.length)));isNaN(d)&&(isNaN(this.endTime)||(d=this.getClosestIndex(a,"time",this.endTime,!1,0,a.length)));if(isNaN(c)||isNaN(d))c=0,d=b}this.endTime=this.startTime=this.end=this.start=void 0;this.zoom(c,d)}}else this.cleanChart()},cleanChart:function(){e.callMethod("destroy",[this.valueAxes,this.graphs,this.categoryAxis,this.chartScrollbar,this.chartCursor,this.valueScrollbar])},updateCategoryAxis:function(a,b,c){a.chart=this;a.id=c;a.rotate=b;a.setOrientation(!this.rotate);a.init();this.setAxisRenderers(a);this.updateObjectSize(a)},updateValueAxes:function(){e.AmSerialChart.base.updateValueAxes.call(this);var a=this.valueAxes,b;for(b=0;b<a.length;b++){var c=a[b],d=this.rotate;c.rotate=d;c.setOrientation(d);d=this.categoryAxis;if(!d.startOnAxis||d.parseDates)c.expandMinMax=!0}},getStartTime:function(a){var b=this.categoryAxis;return e.resetDateToMin(new Date(a),b.minPeriod,1,b.firstDayOfWeek).getTime()},getEndTime:function(a){var b=e.extractPeriod(this.categoryAxis.minPeriod);return e.changeDate(new Date(a),b.period,b.count,!0).getTime()-1},updateMargins:function(){e.AmSerialChart.base.updateMargins.call(this);var a=this.chartScrollbar;a&&(this.getScrollbarPosition(a,this.rotate,this.categoryAxis.position),this.adjustMargins(a,this.rotate));if(a=this.valueScrollbar)this.getScrollbarPosition(a,!this.rotate,this.valueAxes[0].position),this.adjustMargins(a,!this.rotate)},updateScrollbars:function(){e.AmSerialChart.base.updateScrollbars.call(this);this.updateChartScrollbar(this.chartScrollbar,this.rotate);this.updateChartScrollbar(this.valueScrollbar,!this.rotate)},zoom:function(a,b){var c=this.categoryAxis;c.parseDates&&!c.equalSpacing?(this.timeZoom(a,b),isNaN(a)&&this.zoomOutValueAxes()):this.indexZoom(a,b);(c=this.chartCursor)&&(c.pan||c.hideCursorReal());this.updateLegendValues()},timeZoom:function(a,b){var c=this.maxSelectedTime;isNaN(c)||(b!=this.endTime&&b-a>c&&(a=b-c),a!=this.startTime&&b-a>c&&(b=a+c));var d=this.minSelectedTime;if(0<d&&b-a<d){var g=Math.round(a+(b-a)/2),d=Math.round(d/2);a=g-d;b=g+d}d=this.chartData;g=this.categoryAxis;if(e.ifArray(d)&&(a!=this.startTime||b!=this.endTime)){var h=g.minDuration(),f=this.firstTime,l=this.lastTime;a||(a=f,isNaN(c)||(a=l-c));b||(b=l);a>l&&(a=l);b<f&&(b=f);a<f&&(a=f);b>l&&(b=l);b<a&&(b=a+h);b-a<h/5&&(b<l?b=a+h/5:a=b-h/5);this.startTime=a;this.endTime=b;c=d.length-1;h=this.getClosestIndex(d,"time",a,!0,0,c);d=this.getClosestIndex(d,"time",b,!1,h,c);g.timeZoom(a,b);g.zoom(h,d);this.start=e.fitToBounds(h,0,c);this.end=e.fitToBounds(d,0,c);this.zoomAxesAndGraphs();this.zoomScrollbar();this.fixCursor();this.showZB();this.syncGrid();this.updateColumnsDepth();this.dispatchTimeZoomEvent()}},showZB:function(){var a,b=this.categoryAxis;b&&b.parseDates&&!b.equalSpacing&&(this.startTime>this.firstTime&&(a=!0),this.endTime<this.lastTime&&(a=!0));0<this.start&&(a=!0);this.end<this.chartData.length-
4
+ 1&&(a=!0);if(b=this.valueAxes)b=b[0],isNaN(b.relativeStart)||(0!==e.roundTo(b.relativeStart,3)&&(a=!0),1!=e.roundTo(b.relativeEnd,3)&&(a=!0));e.AmSerialChart.base.showZB.call(this,a)},updateAfterValueZoom:function(){e.AmSerialChart.base.updateAfterValueZoom.call(this);this.updateColumnsDepth()},indexZoom:function(a,b){var c=this.maxSelectedSeries,d=!1;isNaN(c)||(b!=this.end&&b-a>c&&(a=b-c,d=!0),a!=this.start&&b-a>c&&(b=a+c,d=!0));if(d&&(d=this.chartScrollbar)&&d.dragger){var g=d.dragger.getBBox();d.maxWidth=g.width;d.maxHeight=g.height}if(a!=this.start||b!=this.end)d=this.chartData.length-1,isNaN(a)&&(a=0,isNaN(c)||(a=d-c)),isNaN(b)&&(b=d),b<a&&(b=a),b>d&&(b=d),a>d&&(a=d-1),0>a&&(a=0),this.start=a,this.end=b,this.categoryAxis.zoom(a,b),this.zoomAxesAndGraphs(),this.zoomScrollbar(),this.fixCursor(),0!==a||b!=this.chartData.length-1?this.showZB(!0):this.showZB(!1),this.syncGrid(),this.updateColumnsDepth(),this.dispatchIndexZoomEvent()},updateGraphs:function(){e.AmSerialChart.base.updateGraphs.call(this);var a=this.graphs,b;for(b=0;b<a.length;b++){var c=a[b];c.columnWidthReal=this.columnWidth;c.categoryAxis=this.categoryAxis;e.isString(c.fillToGraph)&&(c.fillToGraph=this.graphsById[c.fillToGraph])}},zoomAxesAndGraphs:function(){e.AmSerialChart.base.zoomAxesAndGraphs.call(this);this.updateColumnsDepth()},updateColumnsDepth:function(){if(0!==this.depth3D||0!==this.angle){var a,b=this.graphs,c;this.columnsArray=[];for(a=0;a<b.length;a++){c=b[a];var d=c.columnsArray;if(d){var g;for(g=0;g<d.length;g++)this.columnsArray.push(d[g])}}this.columnsArray.sort(this.compareDepth);b=this.columnsSet;if(0<this.columnsArray.length){d=this.container.set();this.columnSet.push(d);for(a=0;a<this.columnsArray.length;a++)d.push(this.columnsArray[a].column.set);c&&d.translate(c.x,c.y);this.columnsSet=d}e.remove(b)}},compareDepth:function(a,b){return a.depth>b.depth?1:-1},zoomScrollbar:function(){var a=this.chartScrollbar,b=this.categoryAxis;if(a){if(!this.zoomedByScrollbar){var c=a.dragger;c&&c.stop()}this.zoomedByScrollbar=!1;b.parseDates&&!b.equalSpacing?a.timeZoom(this.startTime,this.endTime):a.zoom(this.start,this.end)}this.zoomValueScrollbar(this.valueScrollbar)},updateTrendLines:function(){var a=this.trendLines,b;for(b=0;b<a.length;b++){var c=a[b],c=e.processObject(c,e.TrendLine,this.theme);a[b]=c;c.chart=this;c.id||(c.id="trendLineAuto"+b+"_"+(new Date).getTime());e.isString(c.valueAxis)&&(c.valueAxis=this.getValueAxisById(c.valueAxis));c.valueAxis||(c.valueAxis=this.valueAxes[0]);c.categoryAxis=this.categoryAxis}},validateNow:function(a,b){a&&this.zoomOutOnDataUpdate&&(this.endTime=this.end=this.startTime=this.start=NaN);e.AmSerialChart.base.validateNow.call(this,a,b)},countColumns:function(){var a=0,b=this.valueAxes.length,c=this.graphs.length,d,g,e=!1,f,l;for(l=0;l<b;l++){g=this.valueAxes[l];var k=g.stackType,m=0;if("100%"==k||"regular"==k)for(e=!1,f=0;f<c;f++)d=this.graphs[f],d.tcc=1,d.valueAxis==g&&"column"==d.type&&(!e&&d.stackable&&(a++,e=!0),(!d.stackable&&d.clustered||d.newStack&&0!==m)&&a++,d.columnIndex=a-1,d.clustered||(d.columnIndex=0),m++);if("none"==k||"3d"==k){m=!1;for(f=0;f<c;f++)d=this.graphs[f],d.valueAxis==g&&"column"==d.type&&(d.clustered?(d.tcc=1,d.newStack&&(a=0),d.hidden||(d.columnIndex=a,a++)):d.hidden||(m=!0,d.tcc=1,d.columnIndex=0));m&&0===a&&(a=1)}if("3d"==k){g=1;for(m=0;m<c;m++)d=this.graphs[m],d.newStack&&g++,d.depthCount=g,d.tcc=a;a=g}if("regular"==k||"100%"==k)for(g=10,m=0;m<c;m++)d=this.graphs[m],d.newStack&&g--,d.depthCount=g,d.tcc=a}return a},parseData:function(){e.AmSerialChart.base.parseData.call(this);this.parseSerialData(this.dataProvider)},getCategoryIndexByValue:function(a){var b=this.chartData,c;for(c=0;c<b.length;c++)if(b[c].category==a)return c},handleScrollbarZoom:function(a){this.zoomedByScrollbar=!0;this.zoom(a.start,a.end)},dispatchTimeZoomEvent:function(){if(this.drawGraphs&&(this.prevStartTime!=this.startTime||this.prevEndTime!=this.endTime)){var a={type:"zoomed"};a.startDate=new Date(this.startTime);a.endDate=new Date(this.endTime);a.startIndex=this.start;a.endIndex=this.end;this.startIndex=this.start;this.endIndex=this.end;this.startDate=a.startDate;this.endDate=a.endDate;this.prevStartTime=this.startTime;this.prevEndTime=this.endTime;var b=this.categoryAxis,c=e.extractPeriod(b.minPeriod).period,b=b.dateFormatsObject[c];a.startValue=e.formatDate(a.startDate,b,this);a.endValue=e.formatDate(a.endDate,b,this);a.chart=this;a.target=this;this.fire(a)}},dispatchIndexZoomEvent:function(){if(this.drawGraphs&&(this.prevStartIndex!=this.start||this.prevEndIndex!=this.end)){this.startIndex=this.start;this.endIndex=this.end;var a=this.chartData;if(e.ifArray(a)&&!isNaN(this.start)&&!isNaN(this.end)){var b={chart:this,target:this,type:"zoomed"};b.startIndex=this.start;b.endIndex=this.end;b.startValue=a[this.start].category;b.endValue=a[this.end].category;this.categoryAxis.parseDates&&(this.startTime=a[this.start].time,this.endTime=a[this.end].time,b.startDate=new Date(this.startTime),b.endDate=new Date(this.endTime));this.prevStartIndex=this.start;this.prevEndIndex=this.end;this.fire(b)}}},updateLegendValues:function(){this.legend&&this.legend.updateValues()},getClosestIndex:function(a,b,c,d,g,e){0>g&&(g=0);e>a.length-1&&(e=a.length-1);var f=g+Math.round((e-g)/2),l=a[f][b];return c==l?f:1>=e-g?d?g:Math.abs(a[g][b]-c)<Math.abs(a[e][b]-c)?g:e:c==l?f:c<l?this.getClosestIndex(a,b,c,d,g,f):this.getClosestIndex(a,b,c,d,f,e)},zoomToIndexes:function(a,b){var c=this.chartData;if(c){var d=c.length;0<d&&(0>a&&(a=0),b>d-1&&(b=d-1),d=this.categoryAxis,d.parseDates&&!d.equalSpacing?this.zoom(c[a].time,this.getEndTime(c[b].time)):this.zoom(a,b))}},zoomToDates:function(a,b){var c=this.chartData;if(c)if(this.categoryAxis.equalSpacing){var d=this.getClosestIndex(c,"time",a.getTime(),!0,0,c.length);b=e.resetDateToMin(b,this.categoryAxis.minPeriod,1);c=this.getClosestIndex(c,"time",b.getTime(),!1,0,c.length);this.zoom(d,c)}else this.zoom(a.getTime(),b.getTime())},zoomToCategoryValues:function(a,b){this.chartData&&this.zoom(this.getCategoryIndexByValue(a),this.getCategoryIndexByValue(b))},formatPeriodString:function(a,b){if(b){b.periodDataItem={};b.periodPercentDataItem={};var c=["value","open","low","high","close"],d="value open low high close average sum count".split(" "),g=b.valueAxis,h=this.chartData,f=b.numberFormatter;f||(f=this.nf);for(var l=0;l<c.length;l++){for(var k=c[l],m=0,p=0,n=0,u=0,v,x,E,t,r,B,q,w,y,C,F=this.start;F<=this.end;F++){var D=h[F];if(D){var A=D.axes[g.id].graphs[b.id];if(A){if(A.values){var z=A.values[k],D=D.x.categoryAxis;if(this.rotate){if(0>D||D>A.graph.height)z=NaN}else if(0>D||D>A.graph.width)z=NaN;if(!isNaN(z)){isNaN(v)&&(v=z);x=z;if(isNaN(E)||E>z)E=z;if(isNaN(t)||t<z)t=z;r=e.getDecimals(m);D=e.getDecimals(z);m+=z;m=e.roundTo(m,Math.max(r,D));p++;r=m/p}}if(A.percents&&(A=A.percents[k],!isNaN(A))){isNaN(B)&&(B=A);q=A;if(isNaN(w)||w>A)w=A;if(isNaN(y)||y<A)y=A;C=e.getDecimals(n);z=e.getDecimals(A);n+=A;n=e.roundTo(n,Math.max(C,z));u++;C=n/u}}}}m={open:v,close:x,high:t,low:E,average:r,sum:m,count:p};n={open:B,close:q,high:y,low:w,average:C,sum:n,count:u};a=e.formatValue(a,m,d,f,k+"\\.",this.usePrefixes,this.prefixesOfSmallNumbers,this.prefixesOfBigNumbers);a=e.formatValue(a,n,d,this.pf,"percents\\."+k+"\\.");b.periodDataItem[k]=m;b.periodPercentDataItem[k]=n}}return a=e.cleanFromEmpty(a)},formatString:function(a,b,c){if(b){var d=b.graph;if(void 0!==a){if(-1!=a.indexOf("[[category]]")){var g=b.serialDataItem.category;if(this.categoryAxis.parseDates){var h=this.balloonDateFormat,f=this.chartCursor;f&&f.categoryBalloonDateFormat&&(h=f.categoryBalloonDateFormat);h=e.formatDate(g,h,this);-1!=h.indexOf("fff")&&(h=e.formatMilliseconds(h,g));g=h}a=a.replace(/\[\[category\]\]/g,String(g.replace("$","$$$")))}g=d.numberFormatter;g||(g=this.nf);h=b.graph.valueAxis;(f=h.duration)&&!isNaN(b.values.value)&&h.maxInterval&&(f=e.formatDuration(b.values.value,f,"",h.durationUnits,h.maxInterval,g),a=a.replace(RegExp("\\[\\[value\\]\\]","g"),f));"date"==h.type&&(h=e.formatDate(new Date(b.values.value),d.dateFormat,this),f=RegExp("\\[\\[value\\]\\]","g"),a=a.replace(f,h),h=e.formatDate(new Date(b.values.open),d.dateFormat,this),f=RegExp("\\[\\[open\\]\\]","g"),a=a.replace(f,h));d="value open low high close total".split(" ");h=this.pf;a=e.formatValue(a,b.percents,d,h,"percents\\.");a=e.formatValue(a,b.values,d,g,"",this.usePrefixes,this.prefixesOfSmallNumbers,this.prefixesOfBigNumbers);a=e.formatValue(a,b.values,["percents"],h);-1!=a.indexOf("[[")&&(a=e.formatDataContextValue(a,b.dataContext));-1!=a.indexOf("[[")&&b.graph.customData&&(a=e.formatDataContextValue(a,b.graph.customData));a=e.AmSerialChart.base.formatString.call(this,a,b,c)}return a}},updateChartCursor:function(){e.AmSerialChart.base.updateChartCursor.call(this);var a=this.chartCursor,b=this.categoryAxis;if(a){var c=a.categoryBalloonAlpha,d=a.categoryBalloonColor,g=a.color;void 0===d&&(d=a.cursorColor);var h=a.valueZoomable,f=a.zoomable,l=a.valueLineEnabled;this.rotate?(a.vLineEnabled=l,a.hZoomEnabled=h,a.vZoomEnabled=f):(a.hLineEnabled=l,a.vZoomEnabled=h,a.hZoomEnabled=f);if(a.valueLineBalloonEnabled)for(l=0;l<this.valueAxes.length;l++)h=this.valueAxes[l],(f=h.balloon)||(f={}),f=e.extend(f,this.balloon,!0),f.fillColor=d,f.balloonColor=d,f.fillAlpha=c,f.borderColor=d,f.color=g,h.balloon=f;else for(f=0;f<this.valueAxes.length;f++)h=this.valueAxes[f],h.balloon&&(h.balloon=null);b&&(b.balloonTextFunction=a.categoryBalloonFunction,a.categoryLineAxis=b,b.balloonText=a.categoryBalloonText,a.categoryBalloonEnabled&&((f=b.balloon)||(f={}),f=e.extend(f,this.balloon,!0),f.fillColor=d,f.balloonColor=d,f.fillAlpha=c,f.borderColor=d,f.color=g,b.balloon=f),b.balloon&&(b.balloon.enabled=a.categoryBalloonEnabled))}},addChartScrollbar:function(a){e.callMethod("destroy",[this.chartScrollbar]);a&&(a.chart=this,this.listenTo(a,"zoomed",this.handleScrollbarZoom));this.rotate?void 0===a.width&&(a.width=a.scrollbarHeight):void 0===a.height&&(a.height=a.scrollbarHeight);a.gridAxis=this.categoryAxis;this.chartScrollbar=a},addValueScrollbar:function(a){e.callMethod("destroy",[this.valueScrollbar]);a&&(a.chart=this,this.listenTo(a,"zoomed",this.handleScrollbarValueZoom),this.listenTo(a,"zoomStarted",this.handleCursorZoomStarted));var b=a.scrollbarHeight;this.rotate?void 0===a.height&&(a.height=b):void 0===a.width&&(a.width=b);a.gridAxis||(a.gridAxis=this.valueAxes[0]);a.valueAxes=this.valueAxes;this.valueScrollbar=a},removeChartScrollbar:function(){e.callMethod("destroy",[this.chartScrollbar]);this.chartScrollbar=null},removeValueScrollbar:function(){e.callMethod("destroy",[this.valueScrollbar]);this.valueScrollbar=null},handleReleaseOutside:function(a){e.AmSerialChart.base.handleReleaseOutside.call(this,a);e.callMethod("handleReleaseOutside",[this.chartScrollbar,this.valueScrollbar])},update:function(){e.AmSerialChart.base.update.call(this);this.chartScrollbar&&this.chartScrollbar.update&&this.chartScrollbar.update();this.valueScrollbar&&this.valueScrollbar.update&&this.valueScrollbar.update()},processScrollbars:function(){e.AmSerialChart.base.processScrollbars.call(this);var a=this.valueScrollbar;a&&(a=e.processObject(a,e.ChartScrollbar,this.theme),a.id="valueScrollbar",this.addValueScrollbar(a))},handleValueAxisZoom:function(a){this.handleValueAxisZoomReal(a,this.valueAxes)},zoomOut:function(){e.AmSerialChart.base.zoomOut.call(this);this.zoom();this.syncGrid()},getNextItem:function(a){var b=a.index,c=this.chartData,d=a.graph;if(b+1<c.length)for(b+=1;b<c.length;b++)if(a=c[b])if(a=a.axes[d.valueAxis.id].graphs[d.id],!isNaN(a.y))return a},handleCursorZoomReal:function(a,b,c,d,e){var h=e.target,f,l;this.rotate?(isNaN(a)||isNaN(b)||this.relativeZoomValueAxes(this.valueAxes,a,b)&&this.updateAfterValueZoom(),h.vZoomEnabled&&(f=e.start,l=e.end)):(isNaN(c)||isNaN(d)||this.relativeZoomValueAxes(this.valueAxes,c,d)&&this.updateAfterValueZoom(),h.hZoomEnabled&&(f=e.start,l=e.end));isNaN(f)||isNaN(l)||(a=this.categoryAxis,a.parseDates&&!a.equalSpacing?this.zoomToDates(new Date(f),new Date(l)):this.zoomToIndexes(f,l))},handleCursorZoomStarted:function(){var a=this.valueAxes;if(a){var a=a[0],b=a.relativeStart,c=a.relativeEnd;a.reversed&&(b=1-a.relativeEnd,c=1-a.relativeStart);this.rotate?(this.startX0=b,this.endX0=c):(this.startY0=b,this.endY0=c)}this.categoryAxis&&(this.start0=this.start,this.end0=this.end,this.startTime0=this.startTime,this.endTime0=this.endTime)},fixCursor:function(){this.chartCursor&&this.chartCursor.fixPosition();this.prevCursorItem=null},handleCursorMove:function(a){e.AmSerialChart.base.handleCursorMove.call(this,a);var b=a.target,c=this.categoryAxis;if(a.panning)this.handleCursorHide(a);else if(this.chartData&&!b.isHidden){var d=this.graphs;if(d){var g;g=c.xToIndex(this.rotate?a.y:a.x);if(g=this.chartData[g]){var h,f,l,k;if(b.oneBalloonOnly&&b.valueBalloonsEnabled){var m=Infinity;for(h=d.length-1;0<=h;h--)if(f=d[h],f.balloon.enabled&&f.showBalloon&&!f.hidden){l=f.valueAxis.id;l=g.axes[l].graphs[f.id];if(b.showNextAvailable&&isNaN(l.y)&&(l=this.getNextItem(l),!l))continue;l=l.y;"top"==f.showBalloonAt&&(l=0);"bottom"==f.showBalloonAt&&(l=this.height);var p=b.mouseX,n=b.mouseY;l=this.rotate?Math.abs(p-l):Math.abs(n-l);l<m&&(m=l,k=f)}b.mostCloseGraph=k}if(this.prevCursorItem!=g||k!=this.prevMostCloseGraph){m=[];for(h=0;h<d.length;h++){f=d[h];l=f.valueAxis.id;l=g.axes[l].graphs[f.id];if(b.showNextAvailable&&isNaN(l.y)&&(l=this.getNextItem(l),!l&&f.balloon)){f.balloon.hide();continue}k&&f!=k?(f.showGraphBalloon(l,b.pointer,!1,b.graphBulletSize,b.graphBulletAlpha),f.balloon.hide(0)):b.valueBalloonsEnabled?(f.balloon.showBullet=b.bulletsEnabled,f.balloon.bulletSize=b.bulletSize/2,a.hideBalloons||(f.showGraphBalloon(l,b.pointer,!1,b.graphBulletSize,b.graphBulletAlpha),f.balloon.set&&m.push({balloon:f.balloon,y:f.balloon.pointToY}))):(f.currentDataItem=l,f.resizeBullet(l,b.graphBulletSize,b.graphBulletAlpha))}b.avoidBalloonOverlapping&&this.arrangeBalloons(m);this.prevCursorItem=g}this.prevMostCloseGraph=k}}d=e.fitToBounds(a.x,0,b.width);k=e.fitToBounds(a.y,0,b.height);c.showBalloon(d,k,b.categoryBalloonDateFormat,a.skip);this.updateLegendValues()}},handleCursorHide:function(a){e.AmSerialChart.base.handleCursorHide.call(this,a);a=this.categoryAxis;this.prevCursorItem=null;this.updateLegendValues();a&&a.hideBalloon();a=this.graphs;var b;for(b=0;b<a.length;b++)a[b].currentDataItem=null},handleCursorPanning:function(a){var b=a.target,c,d=a.deltaX,g=a.deltaY,h=a.delta2X,f=a.delta2Y;a=!1;if(this.rotate){isNaN(h)&&(h=d,a=!0);var l=this.endX0;c=this.startX0;var k=l-c,l=l-k*h,m=k;a||(m=0);a=e.fitToBounds(c-k*d,0,1-m)}else isNaN(f)&&(f=g,a=!0),l=this.endY0,c=this.startY0,k=l-c,l+=k*g,m=k,a||(m=0),a=e.fitToBounds(c+k*f,0,1-m);c=e.fitToBounds(l,m,1);var p;b.valueZoomable&&(p=this.relativeZoomValueAxes(this.valueAxes,a,c));var n;c=this.categoryAxis;this.rotate&&(d=g,h=f);a=!1;isNaN(h)&&(h=d,a=!0);if(b.zoomable&&(0<Math.abs(d)||0<Math.abs(h)))if(c.parseDates&&!c.equalSpacing){if(f=this.startTime0,g=this.endTime0,c=g-f,h*=c,k=this.firstTime,l=this.lastTime,m=c,a||(m=0),a=Math.round(e.fitToBounds(f-c*d,k,l-m)),h=Math.round(e.fitToBounds(g-h,k+m,l)),this.startTime!=a||this.endTime!=h)n={chart:this,target:b,type:"zoomed",start:a,end:h},this.skipZoomed=!0,b.fire(n),this.zoom(a,h),n=!0}else if(f=this.start0,g=this.end0,c=g-f,d=Math.round(c*d),h=Math.round(c*h),k=this.chartData.length-1,a||(c=0),a=e.fitToBounds(f-d,0,k-c),c=e.fitToBounds(g-h,c,k),this.start!=a||this.end!=c)this.skipZoomed=!0,b.fire({chart:this,target:b,type:"zoomed",start:a,end:c}),this.zoom(a,c),n=!0;!n&&p&&this.updateAfterValueZoom()},arrangeBalloons:function(a){var b=this.plotAreaHeight;a.sort(this.compareY);var c,d,e,h=this.plotAreaWidth,f=a.length;for(c=0;c<f;c++)d=a[c].balloon,d.setBounds(0,0,h,b),d.restorePrevious(),d.draw(),b=d.yPos-3;a.reverse();for(c=0;c<f;c++){d=a[c].balloon;var b=d.bottom,l=d.bottom-d.yPos;0<c&&b-l<e+3&&d.setBounds&&(d.setBounds(0,e+3,h,e+l+3),d.restorePrevious(),d.draw());d.set&&d.set.show();e=d.bottom}},compareY:function(a,b){return a.y<b.y?1:-1}})})();(function(){var e=window.AmCharts;e.Cuboid=e.Class({construct:function(a,b,c,d,e,h,f,l,k,m,p,n,u,v,x,E,t){this.set=a.set();this.container=a;this.h=Math.round(c);this.w=Math.round(b);this.dx=d;this.dy=e;this.colors=h;this.alpha=f;this.bwidth=l;this.bcolor=k;this.balpha=m;this.dashLength=v;this.topRadius=E;this.pattern=x;this.rotate=u;this.bcn=t;u?0>b&&0===p&&(p=180):0>c&&270==p&&(p=90);this.gradientRotation=p;0===d&&0===e&&(this.cornerRadius=n);this.draw()},draw:function(){var a=this.set;a.clear();var b=this.container,c=b.chart,d=this.w,g=this.h,h=this.dx,f=this.dy,l=this.colors,k=this.alpha,m=this.bwidth,p=this.bcolor,n=this.balpha,u=this.gradientRotation,v=this.cornerRadius,x=this.dashLength,E=this.pattern,t=this.topRadius,r=this.bcn,B=l,q=l;"object"==typeof l&&(B=l[0],q=l[l.length-1]);var w,y,C,F,D,A,z,L,M,Q=k;E&&(k=0);var G,H,I,J,K=this.rotate;if(0<Math.abs(h)||0<Math.abs(f))if(isNaN(t))z=q,q=e.adjustLuminosity(B,-.2),q=e.adjustLuminosity(B,-.2),w=e.polygon(b,[0,h,d+h,d,0],[0,f,f,0,0],q,k,1,p,0,u),0<n&&(M=e.line(b,[0,h,d+h],[0,f,f],p,n,m,x)),y=e.polygon(b,[0,0,d,d,0],[0,g,g,0,0],q,k,1,p,0,u),y.translate(h,f),0<n&&(C=e.line(b,[h,h],[f,f+g],p,n,m,x)),F=e.polygon(b,[0,0,h,h,0],[0,g,g+f,f,0],q,k,1,p,0,u),D=e.polygon(b,[d,d,d+h,d+h,d],[0,g,g+f,f,0],q,k,1,p,0,u),0<n&&(A=e.line(b,[d,d+h,d+h,d],[0,f,g+f,g],p,n,m,x)),q=e.adjustLuminosity(z,.2),z=e.polygon(b,[0,h,d+h,d,0],[g,g+f,g+f,g,g],q,k,1,p,0,u),0<n&&(L=e.line(b,[0,h,d+h],[g,g+f,g+f],p,n,m,x));else{var N,O,P;K?(N=g/2,q=h/2,P=g/2,O=d+h/2,H=Math.abs(g/2),G=Math.abs(h/2)):(q=d/2,N=f/2,O=d/2,P=g+f/2+1,G=Math.abs(d/2),H=Math.abs(f/2));I=G*t;J=H*t;.1<G&&.1<G&&(w=e.circle(b,G,B,k,m,p,n,!1,H),w.translate(q,N));.1<I&&.1<I&&(z=e.circle(b,I,e.adjustLuminosity(B,.5),k,m,p,n,!1,J),z.translate(O,P))}k=Q;1>Math.abs(g)&&(g=0);1>Math.abs(d)&&(d=0);!isNaN(t)&&(0<Math.abs(h)||0<Math.abs(f))?(l=[B],l={fill:l,stroke:p,"stroke-width":m,"stroke-opacity":n,"fill-opacity":k},K?(k="M0,0 L"+d+","+(g/2-g/2*t),m=" B",0<d&&(m=" A"),e.VML?(k+=m+Math.round(d-
5
+ I)+","+Math.round(g/2-J)+","+Math.round(d+I)+","+Math.round(g/2+J)+","+d+",0,"+d+","+g,k=k+(" L0,"+g)+(m+Math.round(-G)+","+Math.round(g/2-H)+","+Math.round(G)+","+Math.round(g/2+H)+",0,"+g+",0,0")):(k+="A"+I+","+J+",0,0,0,"+d+","+(g-g/2*(1-t))+"L0,"+g,k+="A"+G+","+H+",0,0,1,0,0"),G=90):(m=d/2-d/2*t,k="M0,0 L"+m+","+g,e.VML?(k="M0,0 L"+m+","+g,m=" B",0>g&&(m=" A"),k+=m+Math.round(d/2-I)+","+Math.round(g-J)+","+Math.round(d/2+I)+","+Math.round(g+J)+",0,"+g+","+d+","+g,k+=" L"+d+",0",k+=m+Math.round(d/2+G)+","+Math.round(H)+","+Math.round(d/2-G)+","+Math.round(-H)+","+d+",0,0,0"):(k+="A"+I+","+J+",0,0,0,"+(d-d/2*(1-t))+","+g+"L"+d+",0",k+="A"+G+","+H+",0,0,1,0,0"),G=180),b=b.path(k).attr(l),b.gradient("linearGradient",[B,e.adjustLuminosity(B,-.3),e.adjustLuminosity(B,-.3),B],G),K?b.translate(h/2,0):b.translate(0,f/2)):b=0===g?e.line(b,[0,d],[0,0],p,n,m,x):0===d?e.line(b,[0,0],[0,g],p,n,m,x):0<v?e.rect(b,d,g,l,k,m,p,n,v,u,x):e.polygon(b,[0,0,d,d,0],[0,g,g,0,0],l,k,m,p,n,u,!1,x);d=isNaN(t)?0>g?[w,M,y,C,F,D,A,z,L,b]:[z,L,y,C,F,D,w,M,A,b]:K?0<d?[w,b,z]:[z,b,w]:0>g?[w,b,z]:[z,b,w];e.setCN(c,b,r+"front");e.setCN(c,y,r+"back");e.setCN(c,z,r+"top");e.setCN(c,w,r+"bottom");e.setCN(c,F,r+"left");e.setCN(c,D,r+"right");for(w=0;w<d.length;w++)if(y=d[w])a.push(y),e.setCN(c,y,r+"element");E&&b.pattern(E,NaN,c.path)},width:function(a){isNaN(a)&&(a=0);this.w=Math.round(a);this.draw()},height:function(a){isNaN(a)&&(a=0);this.h=Math.round(a);this.draw()},animateHeight:function(a,b){var c=this;c.animationFinished=!1;c.easing=b;c.totalFrames=a*e.updateRate;c.rh=c.h;c.frame=0;c.height(1);setTimeout(function(){c.updateHeight.call(c)},1E3/e.updateRate)},updateHeight:function(){var a=this;a.frame++;var b=a.totalFrames;a.frame<=b?(b=a.easing(0,a.frame,1,a.rh-1,b),a.height(b),window.requestAnimationFrame?window.requestAnimationFrame(function(){a.updateHeight.call(a)}):setTimeout(function(){a.updateHeight.call(a)},1E3/e.updateRate)):(a.height(a.rh),a.animationFinished=!0)},animateWidth:function(a,b){var c=this;c.animationFinished=!1;c.easing=b;c.totalFrames=a*e.updateRate;c.rw=c.w;c.frame=0;c.width(1);setTimeout(function(){c.updateWidth.call(c)},1E3/e.updateRate)},updateWidth:function(){var a=this;a.frame++;var b=a.totalFrames;a.frame<=b?(b=a.easing(0,a.frame,1,a.rw-1,b),a.width(b),window.requestAnimationFrame?window.requestAnimationFrame(function(){a.updateWidth.call(a)}):setTimeout(function(){a.updateWidth.call(a)},1E3/e.updateRate)):(a.width(a.rw),a.animationFinished=!0)}})})();(function(){var e=window.AmCharts;e.CategoryAxis=e.Class({inherits:e.AxisBase,construct:function(a){this.cname="CategoryAxis";e.CategoryAxis.base.construct.call(this,a);this.minPeriod="DD";this.equalSpacing=this.parseDates=!1;this.position="bottom";this.startOnAxis=!1;this.gridPosition="middle";this.safeDistance=30;this.stickBalloonToCategory=!1;e.applyTheme(this,a,this.cname)},draw:function(){e.CategoryAxis.base.draw.call(this);this.generateDFObject();var a=this.chart.chartData;this.data=a;this.labelRotationR=this.labelRotation;this.type=null;if(e.ifArray(a)){var b,c=this.chart;"scrollbar"!=this.id?(e.setCN(c,this.set,"category-axis"),e.setCN(c,this.labelsSet,"category-axis"),e.setCN(c,this.axisLine.axisSet,"category-axis")):this.bcn=this.id+"-";var d=this.start,g=this.labelFrequency,h=0,f=this.end-d+1,l=this.gridCountR,k=this.showFirstLabel,m=this.showLastLabel,p,n="",n=e.extractPeriod(this.minPeriod),u=e.getPeriodDuration(n.period,n.count),v,x,E,t,r,B=this.rotate,q=this.firstDayOfWeek,w=this.boldPeriodBeginning;b=e.resetDateToMin(new Date(a[a.length-1].time+1.05*u),this.minPeriod,1,q).getTime();this.firstTime=c.firstTime;this.endTime>b&&(this.endTime=b);r=this.minorGridEnabled;x=this.gridAlpha;var y=0,C=0;if(this.widthField)for(b=this.start;b<=this.end;b++)if(t=this.data[b]){var F=Number(this.data[b].dataContext[this.widthField]);isNaN(F)||(y+=F,t.widthValue=F)}if(this.parseDates&&!this.equalSpacing)this.lastTime=a[a.length-1].time,this.maxTime=e.resetDateToMin(new Date(this.lastTime+1.05*u),this.minPeriod,1,q).getTime(),this.timeDifference=this.endTime-this.startTime,this.parseDatesDraw();else if(!this.parseDates){if(this.cellWidth=this.getStepWidth(f),f<l&&(l=f),h+=this.start,this.stepWidth=this.getStepWidth(f),0<l)for(q=Math.floor(f/l),t=this.chooseMinorFrequency(q),f=h,f/2==Math.round(f/2)&&f--,0>f&&(f=0),w=0,this.widthField&&(f=this.start,q=1),this.end-f+1>=this.autoRotateCount&&(this.labelRotationR=this.autoRotateAngle),b=f;b<=this.end+2;b++){l=!1;0<=b&&b<this.data.length?(v=this.data[b],n=v.category,l=v.forceShow):n="";if(r&&!isNaN(t))if(b/t==Math.round(b/t)||l)b/q==Math.round(b/q)||l||(this.gridAlpha=this.minorGridAlpha,n=void 0);else continue;else if(b/q!=Math.round(b/q)&&!l)continue;f=this.getCoordinate(b-h);l=0;"start"==this.gridPosition&&(f-=this.cellWidth/2,l=this.cellWidth/2);p=!0;E=l;"start"==this.tickPosition&&(E=0,p=!1,l=0);if(b==d&&!k||b==this.end&&!m)n=void 0;Math.round(w/g)!=w/g&&(n=void 0);w++;a=this.cellWidth;B&&(a=NaN,this.ignoreAxisWidth||!c.autoMargins)&&(a="right"==this.position?c.marginRight-this.titleWidth:c.marginLeft-this.titleWidth,a-=this.tickLength+10);this.labelFunction&&v&&(n=this.labelFunction(n,v,this));n=e.fixBrakes(n);u=!1;this.boldLabels&&(u=!0);b>this.end&&"start"==this.tickPosition&&(n=" ");this.rotate&&this.inside&&(l-=2);isNaN(v.widthValue)||(v.percentWidthValue=v.widthValue/y*100,a=this.rotate?this.height*v.widthValue/y:this.width*v.widthValue/y,f=C,C+=a,E=l=a/2);p=new this.axisItemRenderer(this,f,n,p,a,l,void 0,u,E,!1,v.labelColor,v.className);p.serialDataItem=v;this.pushAxisItem(p);this.gridAlpha=x}}else if(this.parseDates&&this.equalSpacing){h=this.start;this.startTime=this.data[this.start].time;this.endTime=this.data[this.end].time;this.timeDifference=this.endTime-this.startTime;b=this.choosePeriod(0);g=b.period;v=b.count;b=e.getPeriodDuration(g,v);b<u&&(g=n.period,v=n.count,b=u);x=g;"WW"==x&&(x="DD");this.currentDateFormat=this.dateFormatsObject[x];this.stepWidth=this.getStepWidth(f);l=Math.ceil(this.timeDifference/b)+1;n=e.resetDateToMin(new Date(this.startTime-
6
+ b),g,v,q).getTime();this.cellWidth=this.getStepWidth(f);f=Math.round(n/b);d=-1;f/2==Math.round(f/2)&&(d=-2,n-=b);f=this.start;f/2==Math.round(f/2)&&f--;0>f&&(f=0);C=this.end+2;C>=this.data.length&&(C=this.data.length);a=!1;a=!k;this.previousPos=-1E3;20<this.labelRotationR&&(this.safeDistance=5);F=f;if(this.data[f].time!=e.resetDateToMin(new Date(this.data[f].time),g,v,q).getTime()){var u=0,D=n;for(b=f;b<C;b++)t=this.data[b].time,this.checkPeriodChange(g,v,t,D)&&(u++,2<=u&&(F=b,b=C),D=t)}r&&1<v&&(t=this.chooseMinorFrequency(v),e.getPeriodDuration(g,t));if(0<this.gridCountR)for(b=f;b<C;b++)if(t=this.data[b].time,this.checkPeriodChange(g,v,t,n)&&b>=F){f=this.getCoordinate(b-this.start);r=!1;this.nextPeriod[x]&&(r=this.checkPeriodChange(this.nextPeriod[x],1,t,n,x))&&e.resetDateToMin(new Date(t),this.nextPeriod[x],1,q).getTime()!=t&&(r=!1);u=!1;r&&this.markPeriodChange?(r=this.dateFormatsObject[this.nextPeriod[x]],u=!0):r=this.dateFormatsObject[x];n=e.formatDate(new Date(t),r,c);if(b==d&&!k||b==l&&!m)n=" ";a?a=!1:(w||(u=!1),f-this.previousPos>this.safeDistance*Math.cos(this.labelRotationR*Math.PI/180)&&(this.labelFunction&&(n=this.labelFunction(n,new Date(t),this,g,v,E)),this.boldLabels&&(u=!0),p=new this.axisItemRenderer(this,f,n,void 0,void 0,void 0,void 0,u),r=p.graphics(),this.pushAxisItem(p),r=r.getBBox().width,e.isModern||(r-=f),this.previousPos=f+r));E=n=t}}for(b=k=0;b<this.data.length;b++)if(t=this.data[b])this.parseDates&&!this.equalSpacing?(m=t.time,d=this.cellWidth,"MM"==this.minPeriod&&(d=864E5*e.daysInMonth(new Date(m))*this.stepWidth,t.cellWidth=d),m=Math.round((m-this.startTime)*this.stepWidth+d/2)):m=this.getCoordinate(b-h),t.x[this.id]=m;if(this.widthField)for(b=this.start;b<=this.end;b++)t=this.data[b],d=t.widthValue,t.percentWidthValue=d/y*100,this.rotate?(m=this.height*d/y/2+k,k=this.height*d/y+k):(m=this.width*d/y/2+k,k=this.width*d/y+k),t.x[this.id]=m;y=this.guides.length;for(b=0;b<y;b++)if(k=this.guides[b],q=q=q=r=d=NaN,m=k.above,k.toCategory&&(q=c.getCategoryIndexByValue(k.toCategory),isNaN(q)||(d=this.getCoordinate(q-h),k.expand&&(d+=this.cellWidth/2),p=new this.axisItemRenderer(this,d,"",!0,NaN,NaN,k),this.pushAxisItem(p,m))),k.category&&(q=c.getCategoryIndexByValue(k.category),isNaN(q)||(r=this.getCoordinate(q-h),k.expand&&(r-=this.cellWidth/2),q=(d-r)/2,p=new this.axisItemRenderer(this,r,k.label,!0,NaN,q,k),this.pushAxisItem(p,m))),w=c.dataDateFormat,k.toDate&&(!w||k.toDate instanceof Date||(k.toDate=k.toDate.toString()+" |"),k.toDate=e.getDate(k.toDate,w),this.equalSpacing?(q=c.getClosestIndex(this.data,"time",k.toDate.getTime(),!1,0,this.data.length-1),isNaN(q)||(d=this.getCoordinate(q-h))):d=(k.toDate.getTime()-this.startTime)*this.stepWidth,p=new this.axisItemRenderer(this,d,"",!0,NaN,NaN,k),this.pushAxisItem(p,m)),k.date&&(!w||k.date instanceof Date||(k.date=k.date.toString()+" |"),k.date=e.getDate(k.date,w),this.equalSpacing?(q=c.getClosestIndex(this.data,"time",k.date.getTime(),!1,0,this.data.length-1),isNaN(q)||(r=this.getCoordinate(q-h))):r=(k.date.getTime()-
7
+ this.startTime)*this.stepWidth,q=(d-r)/2,p=!0,k.toDate&&(p=!1),p="H"==this.orientation?new this.axisItemRenderer(this,r,k.label,p,2*q,NaN,k):new this.axisItemRenderer(this,r,k.label,!1,NaN,q,k),this.pushAxisItem(p,m)),p&&(q=p.label)&&this.addEventListeners(q,k),0<d||0<r){q=!1;if(this.rotate){if(d<this.height||r<this.height)q=!0}else if(d<this.width||r<this.width)q=!0;q&&(d=new this.guideFillRenderer(this,r,d,k),r=d.graphics(),this.pushAxisItem(d,m),k.graphics=r,r.index=b,this.addEventListeners(r,k))}if(c=c.chartCursor)B?c.fixHeight(this.cellWidth):(c.fixWidth(this.cellWidth),c.fullWidth&&this.balloon&&(this.balloon.minWidth=this.cellWidth));this.previousHeight=A}this.axisCreated=!0;this.set.translate(this.x,this.y);this.labelsSet.translate(this.x,this.y);this.labelsSet.show();this.positionTitle();(B=this.axisLine.set)&&B.toFront();var A=this.getBBox().height;2<A-this.previousHeight&&this.autoWrap&&!this.parseDates&&(this.axisCreated=this.chart.marginsUpdated=!1)},xToIndex:function(a){var b=this.data,c=this.chart,d=c.rotate,g=this.stepWidth,h;if(this.parseDates&&!this.equalSpacing)a=this.startTime+Math.round(a/g)-this.minDuration()/2,h=c.getClosestIndex(b,"time",a,!1,this.start,this.end+1);else if(this.widthField)for(c=Infinity,g=this.start;g<=this.end;g++){var f=this.data[g];f&&(f=Math.abs(f.x[this.id]-a),f<c&&(c=f,h=g))}else this.startOnAxis||(a-=g/2),h=this.start+Math.round(a/g);h=e.fitToBounds(h,0,b.length-1);var l;b[h]&&(l=b[h].x[this.id]);d?l>this.height+1&&h--:l>this.width+1&&h--;0>l&&h++;return h=e.fitToBounds(h,0,b.length-1)},dateToCoordinate:function(a){return this.parseDates&&!this.equalSpacing?(a.getTime()-this.startTime)*this.stepWidth:this.parseDates&&this.equalSpacing?(a=this.chart.getClosestIndex(this.data,"time",a.getTime(),!1,0,this.data.length-1),this.getCoordinate(a-this.start)):NaN},categoryToCoordinate:function(a){if(this.chart){if(this.parseDates)return this.dateToCoordinate(new Date(a));a=this.chart.getCategoryIndexByValue(a);if(!isNaN(a))return this.getCoordinate(a-
8
+ this.start)}else return NaN},coordinateToDate:function(a){return this.equalSpacing?(a=this.xToIndex(a),new Date(this.data[a].time)):new Date(this.startTime+a/this.stepWidth)},coordinateToValue:function(a){a=this.xToIndex(a);if(a=this.data[a])return this.parseDates?a.time:a.category},getCoordinate:function(a){a*=this.stepWidth;this.startOnAxis||(a+=this.stepWidth/2);return Math.round(a)},formatValue:function(a,b){b||(b=this.currentDateFormat);this.parseDates&&(a=e.formatDate(new Date(a),b,this.chart));return a},showBalloonAt:function(a,b){void 0===b&&(b=this.parseDates?this.dateToCoordinate(new Date(a)):this.categoryToCoordinate(a));return this.adjustBalloonCoordinate(b)},formatBalloonText:function(a,b,c){var d="",g="",h=this.chart,f=this.data[b];if(f)if(this.parseDates)d=e.formatDate(f.category,c,h),b=e.changeDate(new Date(f.category),this.minPeriod,1),g=e.formatDate(b,c,h),-1!=d.indexOf("fff")&&(d=e.formatMilliseconds(d,f.category),g=e.formatMilliseconds(g,b));else{var l;this.data[b+1]&&(l=this.data[b+
9
+ 1]);d=e.fixNewLines(f.category);l&&(g=e.fixNewLines(l.category))}a=a.replace(/\[\[category\]\]/g,String(d));return a=a.replace(/\[\[toCategory\]\]/g,String(g))},adjustBalloonCoordinate:function(a,b){var c=this.xToIndex(a),d=this.chart.chartCursor;if(this.stickBalloonToCategory){var e=this.data[c];e&&(a=e.x[this.id]);this.stickBalloonToStart&&(a-=this.cellWidth/2);var h=0;if(d){var f=d.limitToGraph;if(f){var l=f.valueAxis.id;f.hidden||(h=e.axes[l].graphs[f.id].y)}this.rotate?("left"==this.position?(f&&(h-=d.width),0<h&&(h=0)):0>h&&(h=0),d.fixHLine(a,h)):("top"==this.position?(f&&(h-=d.height),0<h&&(h=0)):0>h&&(h=0),d.fullWidth&&(a+=1),d.fixVLine(a,h))}}d&&!b&&(d.setIndex(c),this.parseDates&&d.setTimestamp(this.coordinateToDate(a).getTime()));return a}})})();
assets/js/customizer-scripts.js CHANGED
@@ -22,6 +22,27 @@ jQuery(document).ready(function() {
22
  if(jQuery("#_customize-input-wcast_enable_delivered_ga_tracking").prop("checked") != true){
23
  jQuery('#customize-control-wcast_delivered_analytics_link').hide();
24
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
  });
27
  jQuery(document).on("change", "#_customize-input-show_track_label", function(){
@@ -31,6 +52,29 @@ jQuery(document).on("change", "#_customize-input-show_track_label", function(){
31
  jQuery('#customize-control-track_header_text').hide();
32
  }
33
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  jQuery(document).on("change", "#_customize-input-wcast_enable_delivered_ga_tracking", function(){
35
  if(jQuery(this).prop("checked") == true){
36
  jQuery('#customize-control-wcast_delivered_analytics_link').show();
@@ -98,30 +142,33 @@ jQuery(document).on("change", "#customize-control-woocommerce_customer_delivered
98
  } );
99
  } );
100
  } ( wp.customize ) );
 
101
  (function ( api ) {
102
- api.section( 'default_controls_section', function( section ) {
103
  section.expanded.bind( function( isExpanded ) {
104
  var url;
105
  if ( isExpanded ) {
106
  jQuery('#save').trigger('click');
107
- url = wcast_customizer.tracking_preview_url;
108
  api.previewer.previewUrl.set( url );
109
  }
110
  } );
111
  } );
112
  } ( wp.customize ) );
113
- /*(function ( api ) {
114
- api.section( 'tracking_page_section', function( section ) {
 
115
  section.expanded.bind( function( isExpanded ) {
116
  var url;
117
  if ( isExpanded ) {
118
  jQuery('#save').trigger('click');
119
- url = wcast_customizer.tracking_page_preview_url;
120
  api.previewer.previewUrl.set( url );
121
  }
122
  } );
123
  } );
124
- } ( wp.customize ) );*/
 
125
  (function ( api ) {
126
  api.section( 'customer_failure_email', function( section ) {
127
  section.expanded.bind( function( isExpanded ) {
22
  if(jQuery("#_customize-input-wcast_enable_delivered_ga_tracking").prop("checked") != true){
23
  jQuery('#customize-control-wcast_delivered_analytics_link').hide();
24
  }
25
+ if(jQuery('#_customize-input-hide_table_header').prop("checked") == true){
26
+ jQuery('#customize-control-provider_header_text').hide();
27
+ jQuery('#customize-control-tracking_number_header_text').hide();
28
+ jQuery('#customize-control-shipped_date_header_text').hide();
29
+ jQuery('#customize-control-show_track_label').hide();
30
+ jQuery('#customize-control-track_header_text').hide();
31
+ jQuery('#customize-control-table_header_font_size').hide();
32
+ jQuery('#customize-control-table_header_font_color').hide();
33
+ } else{
34
+ jQuery('#customize-control-provider_header_text').show();
35
+ jQuery('#customize-control-tracking_number_header_text').show();
36
+ jQuery('#customize-control-shipped_date_header_text').show();
37
+ jQuery('#customize-control-track_header_text').show();
38
+ jQuery('#customize-control-table_header_font_size').show();
39
+ jQuery('#customize-control-table_header_font_color').show();
40
+ if(jQuery("#_customize-input-show_track_label").prop("checked") == true){
41
+ jQuery('#customize-control-track_header_text').show();
42
+ } else{
43
+ jQuery('#customize-control-track_header_text').hide();
44
+ }
45
+ }
46
 
47
  });
48
  jQuery(document).on("change", "#_customize-input-show_track_label", function(){
52
  jQuery('#customize-control-track_header_text').hide();
53
  }
54
  });
55
+ jQuery(document).on("change", "#_customize-input-hide_table_header", function(){
56
+ if(jQuery(this).prop("checked") == true){
57
+ jQuery('#customize-control-provider_header_text').hide();
58
+ jQuery('#customize-control-tracking_number_header_text').hide();
59
+ jQuery('#customize-control-shipped_date_header_text').hide();
60
+ jQuery('#customize-control-show_track_label').hide();
61
+ jQuery('#customize-control-show_track_label').hide();
62
+ jQuery('#customize-control-track_header_text').hide();
63
+ jQuery('#customize-control-table_header_font_size').hide();
64
+ jQuery('#customize-control-table_header_font_color').hide();
65
+ } else{
66
+ jQuery('#customize-control-provider_header_text').show();
67
+ jQuery('#customize-control-tracking_number_header_text').show();
68
+ jQuery('#customize-control-shipped_date_header_text').show();
69
+ jQuery('#customize-control-show_track_label').show();
70
+ jQuery('#customize-control-track_header_text').show();
71
+ jQuery('#customize-control-table_header_font_size').show();
72
+ jQuery('#customize-control-table_header_font_color').show();
73
+ if(jQuery("#_customize-input-show_track_label").prop("checked") == true){
74
+ jQuery('#customize-control-track_header_text').show();
75
+ }
76
+ }
77
+ });
78
  jQuery(document).on("change", "#_customize-input-wcast_enable_delivered_ga_tracking", function(){
79
  if(jQuery(this).prop("checked") == true){
80
  jQuery('#customize-control-wcast_delivered_analytics_link').show();
142
  } );
143
  } );
144
  } ( wp.customize ) );
145
+
146
  (function ( api ) {
147
+ api.section( 'customer_partial_shipped_email', function( section ) {
148
  section.expanded.bind( function( isExpanded ) {
149
  var url;
150
  if ( isExpanded ) {
151
  jQuery('#save').trigger('click');
152
+ url = wcast_customizer.partial_shipped_email_preview_url;
153
  api.previewer.previewUrl.set( url );
154
  }
155
  } );
156
  } );
157
  } ( wp.customize ) );
158
+
159
+ (function ( api ) {
160
+ api.section( 'default_controls_section', function( section ) {
161
  section.expanded.bind( function( isExpanded ) {
162
  var url;
163
  if ( isExpanded ) {
164
  jQuery('#save').trigger('click');
165
+ url = wcast_customizer.tracking_preview_url;
166
  api.previewer.previewUrl.set( url );
167
  }
168
  } );
169
  } );
170
+ } ( wp.customize ) );
171
+
172
  (function ( api ) {
173
  api.section( 'customer_failure_email', function( section ) {
174
  section.expanded.bind( function( isExpanded ) {
assets/js/preview-scripts.js CHANGED
@@ -50,6 +50,17 @@
50
  });
51
  });
52
 
 
 
 
 
 
 
 
 
 
 
 
53
  wp.customize( 'provider_header_text', function( value ) {
54
  value.bind( function( provider_header_text ) {
55
  if( provider_header_text ){
@@ -213,6 +224,22 @@
213
  });
214
  });
215
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
216
 
217
  wp.customize( 'remove_trackship_branding', function( value ) {
218
  value.bind( function( remove_trackship_branding ) {
50
  });
51
  });
52
 
53
+ wp.customize( 'hide_table_header', function( value ) {
54
+ value.bind( function( hide_table_header ) {
55
+ if( hide_table_header ){
56
+ $( '.tracking_table thead' ).hide();
57
+ }
58
+ else{
59
+ $( '.tracking_table thead' ).show();
60
+ }
61
+ });
62
+ });
63
+
64
  wp.customize( 'provider_header_text', function( value ) {
65
  value.bind( function( provider_header_text ) {
66
  if( provider_header_text ){
224
  });
225
  });
226
 
227
+ wp.customize( 'woocommerce_customer_partial_shipped_order_settings[heading]', function( value ) {
228
+ value.bind( function( wcast_partial_shipped_email_heading ) {
229
+
230
+ var str = wcast_partial_shipped_email_heading;
231
+ var res = str.replace("{site_title}", wcast_preview.site_title);
232
+
233
+ var res = res.replace("{order_number}", wcast_preview.order_number);
234
+
235
+ if( wcast_partial_shipped_email_heading ){
236
+ $( '#header_wrapper h1' ).text(res);
237
+ } else{
238
+ $( '#header_wrapper h1' ).text('');
239
+ }
240
+ });
241
+ });
242
+
243
 
244
  wp.customize( 'remove_trackship_branding', function( value ) {
245
  value.bind( function( remove_trackship_branding ) {
assets/js/settings.js CHANGED
@@ -22,6 +22,19 @@ jQuery(document).on("click", "#wc_ast_status_delivered", function(){
22
  jQuery('.manage_delivered_order_email_link').hide();
23
  }
24
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  jQuery(document).on("change", "#wc_ast_select_email_type", function(){
26
  jQuery("#content2 ").block({
27
  message: null,
@@ -59,15 +72,21 @@ jQuery(document).on("change", "#wc_ast_select_email_type", function(){
59
  });
60
  jQuery( document ).ready(function() {
61
  jQuery(".woocommerce-help-tip").tipTip();
 
62
  if(jQuery('#wc_ast_status_delivered').prop("checked") == true){
63
- jQuery('.status_label_color_th').show();
64
- jQuery('label.tab_label[for="tab5"]').show();
65
  } else{
66
- jQuery('.status_label_color_th').hide();
67
- jQuery('label.tab_label[for="tab5"]').hide();
 
 
 
 
 
68
  }
69
 
70
  jQuery('#wc_ast_status_label_color').wpColorPicker();
 
71
  jQuery('.color_field input').wpColorPicker();
72
  });
73
  jQuery(document).on("click", '#variable_tag #var_input', function(e){
22
  jQuery('.manage_delivered_order_email_link').hide();
23
  }
24
  });
25
+
26
+ jQuery(document).on("click", "#wc_ast_status_partial_shipped", function(){
27
+
28
+ if(jQuery(this).prop("checked") == true){
29
+ jQuery('.partial_shipped_status_label_color_th').show();
30
+ jQuery('#partial-shipped').closest( ".mdl-list__item-secondary-action" ).show();
31
+ } else{
32
+ jQuery('.partial_shipped_status_label_color_th').hide();
33
+ jQuery('#partial-shipped').closest( ".mdl-list__item-secondary-action" ).hide();
34
+ }
35
+
36
+ });
37
+
38
  jQuery(document).on("change", "#wc_ast_select_email_type", function(){
39
  jQuery("#content2 ").block({
40
  message: null,
72
  });
73
  jQuery( document ).ready(function() {
74
  jQuery(".woocommerce-help-tip").tipTip();
75
+
76
  if(jQuery('#wc_ast_status_delivered').prop("checked") == true){
77
+ jQuery('.status_label_color_th').show();
 
78
  } else{
79
+ jQuery('.status_label_color_th').hide();
80
+ }
81
+
82
+ if(jQuery('#wc_ast_status_partial_shipped').prop("checked") == true){
83
+ jQuery('.partial_shipped_status_label_color_th').show();
84
+ } else{
85
+ jQuery('.partial_shipped_status_label_color_th').hide();
86
  }
87
 
88
  jQuery('#wc_ast_status_label_color').wpColorPicker();
89
+ jQuery('#wc_ast_status_partial_shipped_label_color').wpColorPicker();
90
  jQuery('.color_field input').wpColorPicker();
91
  });
92
  jQuery(document).on("click", '#variable_tag #var_input', function(e){
assets/js/shipping_row.js CHANGED
@@ -212,7 +212,7 @@ jQuery(document).on("submit", "#wc_ast_upload_csv_form", function(){
212
  replace_tracking_info = 0;
213
  }
214
 
215
- //alert(jQuery("#replace_tracking_info").prop("checked"));
216
 
217
  var ext = jQuery('#trcking_csv_file').val().split('.').pop().toLowerCase();
218
 
@@ -228,9 +228,11 @@ jQuery(document).on("submit", "#wc_ast_upload_csv_form", function(){
228
  hideerror(trcking_csv_file);
229
  }
230
  }
 
231
  if(error == true){
232
  return false;
233
  }
 
234
 
235
  var regex = /([a-zA-Z0-9\s_\\.\-\(\):])+(.csv|.txt)$/;
236
  if (regex.test(jQuery("#trcking_csv_file").val().toLowerCase())) {
@@ -254,7 +256,7 @@ jQuery(document).on("submit", "#wc_ast_upload_csv_form", function(){
254
  }
255
  }
256
  }
257
- var csv_length = trackings.length;
258
  jQuery("#wc_ast_upload_csv_form")[0].reset();
259
  jQuery("#p1 .progressbar").css('background-color','rgb(63,81,181)');
260
  var querySelector = document.querySelector('#p1');
@@ -797,27 +799,32 @@ jQuery(document).on("click", ".sync_providers_btn", function(){
797
  data: ajax_data,
798
  type: 'POST',
799
  dataType: "json",
800
- success: function(response) {
801
- console.log(response.updated_data);
802
  jQuery('.sync_provider_popup .spinner').removeClass('active');
803
  jQuery(".provider_list").replaceWith(response.html);
804
  jQuery('.status_filter a').removeClass('active');
805
  jQuery("[data-status=active]").addClass('active');
806
 
807
- jQuery(".providers_added span").text(response.added);
808
- if(response.added > 0 ){
809
- jQuery( ".providers_added" ).append( response.added_html );
810
- }
811
-
812
- jQuery(".providers_updated span").text(response.updated);
813
- if(response.updated > 0 ){
814
- jQuery( ".providers_updated" ).append( response.updated_html );
815
- }
816
-
817
- jQuery(".providers_deleted span").text(response.deleted);
818
- if(response.deleted > 0 ){
819
- jQuery( ".providers_deleted" ).append( response.deleted_html );
 
 
 
 
 
820
  }
 
821
  jQuery(".synch_result").show();
822
  jQuery(".sync_providers_btn").hide();
823
  jQuery(".close_synch_popup").show();
@@ -934,14 +941,44 @@ jQuery(document).on("click", ".bulk_shipment_status_button", function(){
934
  });
935
  return false;
936
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
937
  jQuery(document).on("click", ".tab_input", function(){
938
  var tab = jQuery(this).data('tab');
939
  var url = window.location.protocol + "//" + window.location.host + window.location.pathname+"?page=woocommerce-advanced-shipment-tracking&tab="+tab;
940
  window.history.pushState({path:url},'',url);
941
  });
 
942
  jQuery(document).on("click", ".open_video_popup", function(){
943
  jQuery('.how_to_video_popup').show();
944
  });
 
945
  jQuery(document).on("click", ".how_to_video_popup .popupclose", function(){
946
  jQuery('#how_to_video').each(function(index) {
947
  jQuery(this).attr('src', jQuery(this).attr('src'));
212
  replace_tracking_info = 0;
213
  }
214
 
215
+
216
 
217
  var ext = jQuery('#trcking_csv_file').val().split('.').pop().toLowerCase();
218
 
228
  hideerror(trcking_csv_file);
229
  }
230
  }
231
+
232
  if(error == true){
233
  return false;
234
  }
235
+
236
 
237
  var regex = /([a-zA-Z0-9\s_\\.\-\(\):])+(.csv|.txt)$/;
238
  if (regex.test(jQuery("#trcking_csv_file").val().toLowerCase())) {
256
  }
257
  }
258
  }
259
+ var csv_length = trackings.length;
260
  jQuery("#wc_ast_upload_csv_form")[0].reset();
261
  jQuery("#p1 .progressbar").css('background-color','rgb(63,81,181)');
262
  var querySelector = document.querySelector('#p1');
799
  data: ajax_data,
800
  type: 'POST',
801
  dataType: "json",
802
+ success: function(response) {
 
803
  jQuery('.sync_provider_popup .spinner').removeClass('active');
804
  jQuery(".provider_list").replaceWith(response.html);
805
  jQuery('.status_filter a').removeClass('active');
806
  jQuery("[data-status=active]").addClass('active');
807
 
808
+ if(response.sync_error == 1 ){
809
+ jQuery( ".sync_message" ).text( response.message );
810
+ jQuery( ".sync_providers_btn" ).text( 'Retry' );
811
+ } else{
812
+ jQuery(".providers_added span").text(response.added);
813
+ if(response.added > 0 ){
814
+ jQuery( ".providers_added" ).append( response.added_html );
815
+ }
816
+
817
+ jQuery(".providers_updated span").text(response.updated);
818
+ if(response.updated > 0 ){
819
+ jQuery( ".providers_updated" ).append( response.updated_html );
820
+ }
821
+
822
+ jQuery(".providers_deleted span").text(response.deleted);
823
+ if(response.deleted > 0 ){
824
+ jQuery( ".providers_deleted" ).append( response.deleted_html );
825
+ }
826
  }
827
+
828
  jQuery(".synch_result").show();
829
  jQuery(".sync_providers_btn").hide();
830
  jQuery(".close_synch_popup").show();
941
  });
942
  return false;
943
  });
944
+
945
+ jQuery(document).on("click", ".bulk_shipment_status_button_for_empty_balance", function(){
946
+ jQuery("#content3").block({
947
+ message: null,
948
+ overlayCSS: {
949
+ background: "#fff",
950
+ opacity: .6
951
+ }
952
+ });
953
+ var ajax_data = {
954
+ action: 'bulk_shipment_status_for_empty_balance_from_settings',
955
+ };
956
+ jQuery.ajax({
957
+ url: ajaxurl,
958
+ data: ajax_data,
959
+ type: 'POST',
960
+ success: function(response) {
961
+ jQuery("#content3").unblock();
962
+ jQuery( '.bulk_shipment_status_button_for_empty_balance' ).after( "<div class='bulk_shipment_status_success'>Tracking info sent to Trackship for all Orders.</div>" );
963
+ jQuery( '.bulk_shipment_status_button_for_empty_balance' ).attr("disabled", true);
964
+ },
965
+ error: function(response) {
966
+ console.log(response);
967
+ }
968
+ });
969
+ return false;
970
+ });
971
+
972
  jQuery(document).on("click", ".tab_input", function(){
973
  var tab = jQuery(this).data('tab');
974
  var url = window.location.protocol + "//" + window.location.host + window.location.pathname+"?page=woocommerce-advanced-shipment-tracking&tab="+tab;
975
  window.history.pushState({path:url},'',url);
976
  });
977
+
978
  jQuery(document).on("click", ".open_video_popup", function(){
979
  jQuery('.how_to_video_popup').show();
980
  });
981
+
982
  jQuery(document).on("click", ".how_to_video_popup .popupclose", function(){
983
  jQuery('#how_to_video').each(function(index) {
984
  jQuery(this).attr('src', jQuery(this).attr('src'));
assets/js/welcome.js ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).on("click", ".ast-save-setup-settings", function(){
2
+ jQuery(".ast-onboarding-step-welcome").hide();
3
+ jQuery(".ast-onboarding-step-shipping").show();
4
+ jQuery(".ast-onboarding-step-delivered").hide();
5
+ jQuery(".ast-onboarding-step-trackship").hide();
6
+ jQuery(".ast-onboarding-wizard-step").removeClass('ast-onboarding-wizard-step-active');
7
+ jQuery(".step-welcome").addClass('ast-onboarding-wizard-step-completed');
8
+ jQuery(".step-shipping").addClass('ast-onboarding-wizard-step-active');
9
+
10
+ var $wc_ast_settings_form = jQuery('#wc_ast_settings_form');
11
+ var ajax_data = $wc_ast_settings_form.serialize();
12
+
13
+ jQuery.post( ajaxurl, ajax_data, function(response) {
14
+ });
15
+ });
16
+
17
+ jQuery(document).on("click", ".ast-save-setup-providers", function(){
18
+ jQuery(".ast-onboarding-step-welcome").hide();
19
+ jQuery(".ast-onboarding-step-shipping").hide();
20
+ jQuery(".ast-onboarding-step-delivered").show();
21
+ jQuery(".ast-onboarding-step-trackship").hide();
22
+ jQuery(".ast-onboarding-wizard-step").removeClass('ast-onboarding-wizard-step-active');
23
+ jQuery(".step-shipping").addClass('ast-onboarding-wizard-step-completed');
24
+ jQuery(".step-delivered").addClass('ast-onboarding-wizard-step-active');
25
+ });
26
+
27
+ jQuery(document).on("click", ".ast-save-setup-delivered", function(){
28
+ jQuery(".ast-onboarding-step-welcome").hide();
29
+ jQuery(".ast-onboarding-step-shipping").hide();
30
+ jQuery(".ast-onboarding-step-delivered").hide();
31
+ jQuery(".ast-onboarding-step-trackship").show();
32
+ jQuery(".ast-onboarding-wizard-step").removeClass('ast-onboarding-wizard-step-active');
33
+ jQuery(".step-delivered").addClass('ast-onboarding-wizard-step-completed');
34
+ jQuery(".step-trackship").addClass('ast-onboarding-wizard-step-active');
35
+
36
+ var $wc_ast_settings_form = jQuery('#wc_ast_delivered_settings_form');
37
+ var ajax_data = $wc_ast_settings_form.serialize();
38
+
39
+ jQuery.post( ajaxurl, ajax_data, function(response) {
40
+ });
41
+ });
assets/shipment-provider-img/7-eleven.png ADDED
Binary file
assets/shipment-provider-img/apc-overnight.png ADDED
Binary file
assets/shipment-provider-img/bring.png ADDED
Binary file
assets/shipment-provider-img/correos-espana.png ADDED
Binary file
assets/shipment-provider-img/courierpost.png ADDED
Binary file
assets/shipment-provider-img/dhl-paket.png ADDED
Binary file
assets/shipment-provider-img/dpd-uk.png ADDED
Binary file
assets/shipment-provider-img/ethiopia-post.png ADDED
Binary file
assets/shipment-provider-img/gls-spain.png ADDED
Binary file
assets/shipment-provider-img/kerry-express.png ADDED
Binary file
assets/shipment-provider-img/landmark-global.png ADDED
Binary file
assets/shipment-provider-img/laos-post.png ADDED
Binary file
assets/shipment-provider-img/loomis-express.png ADDED
Binary file
assets/shipment-provider-img/naqel.png ADDED
Binary file
assets/shipment-provider-img/new-zealand-post.png ADDED
Binary file
assets/shipment-provider-img/poste-maroc.png ADDED
Binary file
assets/shipment-provider-img/posten-norge.png ADDED
Binary file
assets/shipment-provider-img/sagawa.png ADDED
Binary file
assets/shipment-provider-img/sda.png ADDED
Binary file
assets/shipment-provider-img/smsa-express.png ADDED
Binary file
assets/shipment-provider-img/toll.png ADDED
Binary file
includes/api/v1/class-wc-advanced-shipment-tracking-rest-api-controller.php CHANGED
@@ -139,8 +139,8 @@ class WC_Advanced_Shipment_Tracking_V1_REST_API_Controller extends WC_REST_Contr
139
  'permission_callback' => array( $this, 'get_item_permissions_check' ),
140
  ),
141
  'schema' => array( $this, 'get_public_item_schema' ),
142
- ) );
143
- }
144
 
145
  /*
146
  * check_wcast_installed_from_third_party_tool
@@ -384,100 +384,8 @@ class WC_Advanced_Shipment_Tracking_V1_REST_API_Controller extends WC_REST_Contr
384
 
385
  $order_id = (int) $request['order_id'];
386
 
387
- if ( is_plugin_active( 'custom-order-numbers-for-woocommerce/custom-order-numbers-for-woocommerce.php' ) ) {
388
- $alg_wc_custom_order_numbers_enabled = get_option('alg_wc_custom_order_numbers_enabled');
389
- if($alg_wc_custom_order_numbers_enabled == 'yes'){
390
- $args = array(
391
- 'post_type' => 'shop_order',
392
- 'posts_per_page' => '1',
393
- 'meta_query' => array(
394
- 'relation' => 'AND',
395
- array(
396
- 'key' => '_alg_wc_custom_order_number',
397
- 'value' => $order_id
398
- ),
399
- ),
400
- 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
401
- );
402
- $posts = get_posts( $args );
403
- $my_query = new WP_Query( $args );
404
-
405
- if( $my_query->have_posts() ) {
406
- while( $my_query->have_posts()) {
407
- $my_query->the_post();
408
- if(get_the_ID()){
409
- $order_id = get_the_ID();
410
- }
411
- } // end while
412
- } // end if
413
- wp_reset_postdata();
414
- }
415
- }
416
-
417
- if ( is_plugin_active( 'woocommerce-sequential-order-numbers/woocommerce-sequential-order-numbers.php' ) ) {
418
-
419
- $s_order_id = wc_sequential_order_numbers()->find_order_by_order_number( $order_id );
420
- if($s_order_id){
421
- $order_id = $s_order_id;
422
- }
423
- }
424
-
425
- if ( is_plugin_active( 'wp-lister-amazon/wp-lister-amazon.php' ) ) {
426
- $wpla_use_amazon_order_number = get_option( 'wpla_use_amazon_order_number' );
427
- if($wpla_use_amazon_order_number == 1){
428
- $args = array(
429
- 'post_type' => 'shop_order',
430
- 'posts_per_page' => '1',
431
- 'meta_query' => array(
432
- 'relation' => 'AND',
433
- array(
434
- 'key' => '_wpla_amazon_order_id',
435
- 'value' => $order_id
436
- ),
437
- ),
438
- 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
439
- );
440
- $posts = get_posts( $args );
441
- $my_query = new WP_Query( $args );
442
-
443
- if( $my_query->have_posts() ) {
444
- while( $my_query->have_posts()) {
445
- $my_query->the_post();
446
- if(get_the_ID()){
447
- $order_id = get_the_ID();
448
- }
449
- } // end while
450
- } // end if
451
- wp_reset_postdata();
452
- }
453
- }
454
-
455
- if ( is_plugin_active( 'wp-lister/wp-lister.php' ) || is_plugin_active( 'wp-lister-for-ebay/wp-lister.php' )) {
456
- $args = array(
457
- 'post_type' => 'shop_order',
458
- 'posts_per_page' => '1',
459
- 'meta_query' => array(
460
- 'relation' => 'AND',
461
- array(
462
- 'key' => '_ebay_extended_order_id',
463
- 'value' => $order_id
464
- ),
465
- ),
466
- 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
467
- );
468
- $posts = get_posts( $args );
469
- $my_query = new WP_Query( $args );
470
-
471
- if( $my_query->have_posts() ) {
472
- while( $my_query->have_posts()) {
473
- $my_query->the_post();
474
- if(get_the_ID()){
475
- $order_id = get_the_ID();
476
- }
477
- } // end while
478
- } // end if
479
- wp_reset_postdata();
480
- }
481
 
482
  if ( ! $this->is_valid_order_id( $order_id ) ) {
483
  return new WP_Error( 'woocommerce_rest_order_invalid_id', __( 'Invalid order ID.', 'woocommerce-shipment-tracking' ), array( 'status' => 404 ) );
139
  'permission_callback' => array( $this, 'get_item_permissions_check' ),
140
  ),
141
  'schema' => array( $this, 'get_public_item_schema' ),
142
+ ) );
143
+ }
144
 
145
  /*
146
  * check_wcast_installed_from_third_party_tool
384
 
385
  $order_id = (int) $request['order_id'];
386
 
387
+ $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
388
+ $order_id = $wast->get_formated_order_id($order_id);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
389
 
390
  if ( ! $this->is_valid_order_id( $order_id ) ) {
391
  return new WP_Error( 'woocommerce_rest_order_invalid_id', __( 'Invalid order ID.', 'woocommerce-shipment-tracking' ), array( 'status' => 404 ) );
includes/class-wc-advanced-shipment-tracking-admin.php CHANGED
@@ -76,6 +76,21 @@ class WC_Advanced_Shipment_Tracking_Admin {
76
  add_filter( 'bulk_actions-edit-shop_order', array( $this, 'add_bulk_actions'), 50, 1 );
77
  }
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  //cron_schedules
80
  add_filter( 'cron_schedules', array( $this, 'add_cron_interval') );
81
  //cron hook
@@ -110,6 +125,9 @@ class WC_Advanced_Shipment_Tracking_Admin {
110
  // Bulk shipment status sync ajax call from settings
111
  add_action( 'wp_ajax_bulk_shipment_status_from_settings', array( $this, 'bulk_shipment_status_from_settings_fun' ) );
112
 
 
 
 
113
  // The results notice from bulk action on orders
114
  add_action( 'admin_notices', array( $this, 'shipment_status_bulk_action_admin_notice' ) );
115
 
@@ -121,7 +139,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
121
  add_action( 'restrict_manage_posts', array( $this, 'filter_orders_by_shipment_status') , 20 );
122
  add_filter( 'request', array( $this, 'filter_orders_by_shipment_status_query' ) );
123
 
124
- //add_action( 'wp_dashboard_setup', array( $this, 'ast_add_dashboard_widgets') );
125
  }
126
 
127
  // trigger when order status changed to shipped or completed
@@ -172,7 +190,14 @@ class WC_Advanced_Shipment_Tracking_Admin {
172
 
173
  add_action( 'wp_ajax_update_shipment_status', array( $this, 'update_shipment_status_fun') );
174
 
175
- add_action( 'wp_ajax_sync_providers', array( $this, 'sync_providers_fun') );
 
 
 
 
 
 
 
176
  }
177
 
178
  /*
@@ -195,6 +220,17 @@ class WC_Advanced_Shipment_Tracking_Admin {
195
  maybe_create_table( $table_name, $sql );
196
  }
197
 
 
 
 
 
 
 
 
 
 
 
 
198
  /*
199
  * Rename WooCommerce Order Status
200
  */
@@ -268,6 +304,20 @@ class WC_Advanced_Shipment_Tracking_Admin {
268
  }
269
  }
270
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
271
  /*
272
  * add status after completed
273
  */
@@ -294,6 +344,20 @@ class WC_Advanced_Shipment_Tracking_Admin {
294
  return $new_order_statuses;
295
  }
296
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
297
  /*
298
  * Adding the custom order status to the default woocommerce order statuses
299
  */
@@ -303,6 +367,14 @@ class WC_Advanced_Shipment_Tracking_Admin {
303
  return $statuses;
304
  }
305
 
 
 
 
 
 
 
 
 
306
  /*
307
  * mark status as a paid.
308
  */
@@ -312,6 +384,14 @@ class WC_Advanced_Shipment_Tracking_Admin {
312
  return $statuses;
313
  }
314
 
 
 
 
 
 
 
 
 
315
  /*
316
  * add bulk action
317
  * Change order status to delivered
@@ -321,6 +401,15 @@ class WC_Advanced_Shipment_Tracking_Admin {
321
  return $bulk_actions;
322
  }
323
 
 
 
 
 
 
 
 
 
 
324
  /*
325
  * add_cron_interval
326
  */
@@ -416,16 +505,45 @@ class WC_Advanced_Shipment_Tracking_Admin {
416
  return $value;
417
  }
418
 
 
 
 
419
  function check_order_status($value, $order){
420
  $order_status = $order->get_status();
421
 
422
- if($order_status == 'updated-tracking' || $order_status == 'completed'){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
423
  return true;
424
  } else {
425
  return false;
426
  }
427
  return $value;
428
  }
 
429
  /*
430
  * add in batch process
431
  */
@@ -606,6 +724,19 @@ class WC_Advanced_Shipment_Tracking_Admin {
606
  */
607
  public function admin_styles($hook) {
608
 
 
 
 
 
 
 
 
 
 
 
 
 
 
609
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
610
 
611
  wp_enqueue_style( 'font-awesome', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/font-awesome.min.css', array(), '4.7' );
@@ -623,16 +754,6 @@ class WC_Advanced_Shipment_Tracking_Admin {
623
  ),
624
  ) );
625
 
626
- if(!isset($_GET['page'])) {
627
- return;
628
- }
629
- if( $_GET['page'] != 'woocommerce-advanced-shipment-tracking') {
630
- return;
631
- }
632
-
633
-
634
-
635
-
636
  wp_register_script( 'selectWoo', WC()->plugin_url() . '/assets/js/selectWoo/selectWoo.full' . $suffix . '.js', array( 'jquery' ), '1.0.4' );
637
  wp_register_script( 'wc-enhanced-select', WC()->plugin_url() . '/assets/js/admin/wc-enhanced-select' . $suffix . '.js', array( 'jquery', 'selectWoo' ), WC_VERSION );
638
  wp_register_script( 'jquery-blockui', WC()->plugin_url() . '/assets/js/jquery-blockui/jquery.blockUI' . $suffix . '.js', array( 'jquery' ), '2.70', true );
@@ -647,12 +768,10 @@ class WC_Advanced_Shipment_Tracking_Admin {
647
  wp_enqueue_script( 'jquery-tiptip' );
648
  wp_enqueue_script( 'jquery-blockui' );
649
  wp_enqueue_script( 'wp-color-picker' );
650
- wp_enqueue_script( 'jquery-ui-sortable' );
651
- //wp_enqueue_style( 'wp-color-picker' );
652
  wp_enqueue_script('media-upload');
653
  wp_enqueue_script('thickbox');
654
- wp_enqueue_style('thickbox');
655
- wp_enqueue_style( 'checkbox-slider', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/checkbox-slider.css' );
656
 
657
  wp_enqueue_style( 'material-css', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/material.css', array(), wc_advanced_shipment_tracking()->version );
658
  wp_enqueue_script( 'material-js', wc_advanced_shipment_tracking()->plugin_dir_url().'assets/js/material.min.js', array( 'jquery' ), wc_advanced_shipment_tracking()->version );
@@ -663,14 +782,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
663
 
664
  wp_register_script( 'shipment_tracking_table_rows', wc_advanced_shipment_tracking()->plugin_dir_url().'assets/js/shipping_row.js' , array( 'jquery', 'wp-util' ), wc_advanced_shipment_tracking()->version );
665
  wp_localize_script( 'shipment_tracking_table_rows', 'shipment_tracking_table_rows', array(
666
- 'i18n' => array(
667
- 'order' => __( 'Order', 'woo-advanced-shipment-tracking' ),
668
- 'item' => __( 'Item', 'woo-advanced-shipment-tracking' ),
669
- 'line_item' => __( 'Line Item', 'woo-advanced-shipment-tracking' ),
670
- 'class' => __( 'Class', 'woo-advanced-shipment-tracking' ),
671
- 'delete_rates' => __( 'Delete the selected rates?', 'woo-advanced-shipment-tracking' ),
672
- 'dupe_rates' => __( 'Duplicate the selected rates?', 'woo-advanced-shipment-tracking' ),
673
- 'provider_status_alert' => __( 'Really want to bulk change all provider status?', 'woo-advanced-shipment-tracking' ),
674
  'data_saved' => __( 'Data saved successfully.', 'woo-advanced-shipment-tracking' ),
675
  'delete_provider' => __( 'Really delete this entry? This will not be undo.', 'woo-advanced-shipment-tracking' ),
676
  'upload_only_csv_file' => __( 'You can upload only csv file.', 'woo-advanced-shipment-tracking' ),
@@ -679,9 +791,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
679
  ),
680
  'delete_rates_nonce' => wp_create_nonce( "delete-rate" ),
681
  ) );
682
- if (isset($_GET['page']) && $_GET['page'] == 'woocommerce-advanced-shipment-tracking') {
683
- wp_enqueue_media();
684
- }
685
  }
686
 
687
  /*
@@ -691,12 +801,21 @@ class WC_Advanced_Shipment_Tracking_Admin {
691
  public function register_woocommerce_menu() {
692
  add_submenu_page( 'woocommerce', 'Shipment Tracking', 'Shipment Tracking', 'manage_options', 'woocommerce-advanced-shipment-tracking', array( $this, 'woocommerce_advanced_shipment_tracking_page_callback' ) );
693
  }
 
 
 
 
694
  public function sortByCountryAsc($a, $b) {
695
  return strcmp($a->country, $b->country);
696
  }
 
 
 
 
697
  public function sortByCountryDesc($a, $b) {
698
  return strcmp($b->country, $a->country);
699
  }
 
700
  /*
701
  * callback for Shipment Tracking page
702
  */
@@ -727,35 +846,42 @@ class WC_Advanced_Shipment_Tracking_Admin {
727
  }
728
  }
729
  wp_enqueue_script( 'shipment_tracking_table_rows' );
730
- ?>
731
- <!--h1 class="plugin-title"><?php _e('Advanced Shipment Tracking', 'woo-advanced-shipment-tracking'); ?></h1-->
732
- <img class="plugin-logo" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/images/ast-logo.png">
 
733
  <div class="woocommerce zorem_admin_layout">
734
- <div class="ast_admin_content" >
735
-
736
- <input id="tab2" type="radio" name="tabs" class="tab_input" data-tab="settings" checked>
737
- <label for="tab2" class="tab_label first_label"><?php _e('Settings', 'woo-advanced-shipment-tracking'); ?></label>
738
 
739
  <input id="tab1" type="radio" name="tabs" class="tab_input" data-tab="shipping-providers" <?php if(isset($_GET['tab']) && $_GET['tab'] == 'shipping-providers'){ echo 'checked'; } ?>>
740
- <label for="tab1" class="tab_label"><?php _e('Shipping Providers', 'woo-advanced-shipment-tracking'); ?></label>
741
-
742
  <input id="tab4" type="radio" name="tabs" class="tab_input" data-tab="bulk-upload" <?php if(isset($_GET['tab']) && $_GET['tab'] == 'bulk-upload'){ echo 'checked'; } ?>>
743
  <label for="tab4" class="tab_label"><?php _e('Bulk Upload', 'woo-advanced-shipment-tracking'); ?></label>
744
 
745
  <input id="tab3" type="radio" name="tabs" class="tab_input" data-tab="trackship" <?php if(isset($_GET['tab']) && ($_GET['tab'] == 'trackship' || $_GET['tab'] == 'tracking-page' || $_GET['tab'] == 'shipment-status-notifications')){ echo 'checked'; } ?>>
746
- <label for="tab3" class="tab_label"><?php _e('TrackShip', 'woo-advanced-shipment-tracking'); ?></label>
 
 
 
 
 
 
 
 
747
 
748
  <div class="nav_doc_section">
749
- <a target="blank" href="https://www.zorem.com/docs/woocommerce-advanced-shipment-tracking/" style="margin-right: 25px;"><?php _e( 'Documentation', 'woo-advanced-shipment-tracking' ); ?></a>
750
- <a href="JavaScript:void(0);" class="open_video_popup"><?php _e( 'How to Video', 'woo-advanced-shipment-tracking' ); ?></a>
751
- </div>
752
 
753
  <?php require_once( 'views/admin_options_shipping_provider.php' );?>
754
  <?php require_once( 'views/admin_options_settings.php' );?>
755
  <?php require_once( 'views/admin_options_trackship_integration.php' );?>
756
- <?php require_once( 'views/admin_options_bulk_upload.php' );?>
757
- </div>
758
- <?php //require_once( 'views/zorem_admin_sidebar.php' );?>
759
  </div>
760
  <div id="demo-toast-example" class="mdl-js-snackbar mdl-snackbar">
761
  <div class="mdl-snackbar__text"></div>
@@ -780,7 +906,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
780
  /*
781
  * get html of fields
782
  */
783
- private function get_html( $arrays ){
784
 
785
  $checked = '';
786
  ?>
@@ -809,12 +935,22 @@ class WC_Advanced_Shipment_Tracking_Admin {
809
  <?php if( $array['type'] == 'checkbox' ){
810
  if($id === 'wcast_enable_delivered_email'){
811
  $wcast_enable_delivered_email = get_option('woocommerce_customer_delivered_order_settings');
812
- if($wcast_enable_delivered_email['enabled'] === 'yes'){
 
 
813
  $checked = 'checked';
814
  } else{
815
- $checked = '';
816
  }
817
- } else{
 
 
 
 
 
 
 
 
818
  if(get_option($id)){
819
  $checked = 'checked';
820
  } else{
@@ -836,28 +972,49 @@ class WC_Advanced_Shipment_Tracking_Admin {
836
  </label>
837
  </span>
838
  <?php } elseif( $array['type'] == 'multiple_checkbox' ){ ?>
839
- <?php foreach((array)$array['options'] as $key => $val ){
 
 
 
840
  $multi_checkbox_data = get_option($id);
841
- if(!$multi_checkbox_data){
842
- $multi_checkbox_data = array();
843
- $multi_checkbox_data['show_in_completed'] = 1;
844
- $data_array = array('show_in_completed' => 1);
845
- update_option( 'wc_ast_unclude_tracking_info', $data_array );
846
- }
847
- if(isset($multi_checkbox_data[$key])){
848
  $checked="checked";
849
  } else{
850
  $checked="";
851
  }?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
852
  <span class="mdl-list__item-secondary-action multiple_checkbox">
853
  <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="<?php echo $key?>">
 
854
  <input type="checkbox" id="<?php echo $key?>" name="<?php echo $id?>[<?php echo $key?>]" class="mdl-switch__input" <?php echo $checked; ?> value="1"/>
855
- <span class="multiple_label"><?php echo $val; ?></span>
856
- <br>
857
  </label>
858
- </span>
859
-
860
- <?php } ?>
861
 
862
  <?php } elseif( isset( $array['type'] ) && $array['type'] == 'dropdown' ){?>
863
  <?php
@@ -895,17 +1052,6 @@ class WC_Advanced_Shipment_Tracking_Admin {
895
  <?php } ?>
896
  </fieldset>
897
  <?php }
898
- elseif( $array['type'] == 'desc' ){ ?>
899
- <fieldset>
900
- <p><?php _e( 'Auto-track all your shipments, get real-time shipment tracking updates without leaving your stores admin.', 'woo-advanced-shipment-tracking' ); ?></p>
901
- <p><?php
902
- $url = '<a href="https://trackship.info/my-account" target="blank">TrackShip</a>';
903
- echo sprintf(__("You must have account and connect your store to %s in order to activate these advanced features.", 'woo-advanced-shipment-tracking'), $url); ?></p>
904
- <p><?php
905
- $url = '<a href="https://trackship.info/my-account" target="blank">Trackship</a>';
906
- echo sprintf(__("50 free Trackers for every new account! Get your %s account now>>", 'woo-advanced-shipment-tracking'), $url); ?></p>
907
- </fieldset>
908
- <?php }
909
  elseif( $array['type'] == 'label' ){ ?>
910
  <fieldset>
911
  <label><?php echo $array['value']; ?></label>
@@ -918,7 +1064,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
918
  <?php }
919
  elseif( $array['type'] == 'button' ){ ?>
920
  <fieldset>
921
- <button class="button-primary btn_green <?php echo $array['button_class'];?>"><?php echo $array['label'];?></button>
922
  </fieldset>
923
  <?php }
924
  else { ?>
@@ -936,40 +1082,24 @@ class WC_Advanced_Shipment_Tracking_Admin {
936
  <?php } } ?>
937
  </tbody>
938
  </table>
939
- <?php }
 
940
 
941
  /*
942
- * get settings tab array data
943
  * return array
944
  */
945
- function get_trackship_general_data(){
946
- $wc_ast_api_key = get_option('wc_ast_api_key');
947
- $trackers_balance = get_option( 'trackers_balance' );
948
- $wc_ast_status_delivered = get_option( 'wc_ast_status_delivered' );
949
- if($wc_ast_api_key){
950
- $connected = true;
951
- $show_trackship_field = true;
952
- $show_trackship_description = false;
953
- } else{
954
- $connected = false;
955
- $show_trackship_field = false;
956
- $show_trackship_description = true;
957
- }
958
- if($wc_ast_status_delivered){
959
- $disabled_change_to_delivered = false;
960
- } else{
961
- $disabled_change_to_delivered = true;
962
- }
963
- $page_list = wp_list_pluck( get_pages(), 'post_title', 'ID' );
964
-
965
  // Get orders completed.
966
  $args = array(
967
  'status' => 'wc-completed',
968
  'limit' => -1,
969
  'date_created' => '>' . ( time() - 2592000 ),
970
  );
 
971
  $orders = wc_get_orders( $args );
972
  $completed_order_with_tracking = 0;
 
973
  foreach($orders as $order){
974
  $order_id = $order->get_id();
975
 
@@ -977,7 +1107,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
977
  $tracking_items = $ast->get_tracking_items( $order_id, true );
978
  if($tracking_items){
979
  $shipment_status = get_post_meta( $order_id, "shipment_status", true);
980
- foreach ( $tracking_items as $key => $tracking_item ) {
981
  if( !isset($shipment_status[$key]) ){
982
  $completed_order_with_tracking++;
983
  }
@@ -986,18 +1116,89 @@ class WC_Advanced_Shipment_Tracking_Admin {
986
  }
987
 
988
  if($completed_order_with_tracking > 0){
989
- $show_bulk_sync = true;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
990
  } else{
991
- $show_bulk_sync = false;
992
  }
993
 
994
  $wc_ast_status_shipped = get_option('wc_ast_status_shipped');
 
995
  if($wc_ast_status_shipped == 1){
996
  $completed_order_label = '<span class="shipped_label">shipped</span>';
997
  } else{
998
  $completed_order_label = '<span class="shipped_label">completed</span>';
999
- }
1000
- //echo '<pre>';print_r($completed_order_with_tracking);echo '</pre>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1001
  $form_data = array(
1002
  'wc_ast_api_enabled' => array(
1003
  'type' => 'checkbox',
@@ -1011,25 +1212,11 @@ class WC_Advanced_Shipment_Tracking_Admin {
1011
  'show' => $show_trackship_field,
1012
  'class' => '',
1013
  'disabled' => $disabled_change_to_delivered,
1014
- ),
1015
- 'wc_ast_bulk_shipment_status' => array(
1016
- 'type' => 'button',
1017
- 'title' => sprintf(__('You have %s %s orders from the last 30 days, would you like to bulk send all these orders to TrackShip?', 'woo-advanced-shipment-tracking'), $completed_order_with_tracking , $completed_order_label),
1018
- 'label' => __( 'Get Shipment Status', 'woo-advanced-shipment-tracking' ),
1019
- 'show' => $show_bulk_sync,
1020
- 'button_class' => 'bulk_shipment_status_button',
1021
- 'class' => '',
1022
- ),
1023
- 'wc_ast_trackship_description' => array(
1024
- 'type' => 'desc',
1025
- 'title' => '',
1026
- 'show' => $show_trackship_description,
1027
- 'class' => '',
1028
  ),
1029
  );
1030
  return $form_data;
1031
-
1032
  }
 
1033
  /*
1034
  * get settings tab array data
1035
  * return array
@@ -1155,7 +1342,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1155
  $mark_as_shipped_label = __( 'Default "mark as <span class="shipped_label">shipped</span>"', 'woo-advanced-shipment-tracking' );
1156
  $mark_as_shipped_tooltip = __( "This means that the 'mark as <span class='shipped_label'>shipped</span>' will be selected by default when adding tracking info to orders.", 'woo-advanced-shipment-tracking' );
1157
  } else{
1158
- $completed_order_label = __( 'Completed', 'woo-advanced-shipment-tracking' );
1159
  $mark_as_shipped_label = __( 'Default "mark as <span class="shipped_label">completed</span>"', 'woo-advanced-shipment-tracking' );
1160
  $mark_as_shipped_tooltip = __( "This means that the 'mark as <span class='shipped_label'>completed</span>' will be selected by default when adding tracking info to orders.", 'woo-advanced-shipment-tracking' );
1161
  }
@@ -1168,6 +1355,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1168
  'wc-on-hold' => 'On hold',
1169
  'wc-completed' => 'Completed',
1170
  'wc-delivered' => 'Delivered',
 
1171
  'wc-cancelled' => 'Cancelled',
1172
  'wc-refunded' => 'Refunded',
1173
  'wc-failed' => 'Failed'
@@ -1179,19 +1367,40 @@ class WC_Advanced_Shipment_Tracking_Admin {
1179
  foreach($custom_order_status as $key=>$value){
1180
  unset($custom_order_status[$key]);
1181
  $key = str_replace("wc-", "", $key);
1182
- $custom_order_status[$key] = $value;
 
 
 
1183
  }
1184
 
1185
  $order_status = array(
1186
- "cancelled" =>__( 'Cancelled', 'woo-advanced-shipment-tracking' ),
1187
- "show_in_customer_invoice" =>__( 'Customer Invoice', 'woo-advanced-shipment-tracking' ),
1188
- "refunded" =>__( 'Refunded', 'woo-advanced-shipment-tracking' ),
1189
- "processing" =>__( 'Processing', 'woo-advanced-shipment-tracking' ),
1190
- "failed" =>__( 'Failed', 'woo-advanced-shipment-tracking' ),
1191
- "completed" =>__( $completed_order_label, 'woo-advanced-shipment-tracking' ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1192
  );
1193
- $order_status_array = array_merge($order_status,$custom_order_status);
1194
-
1195
  if ( is_plugin_active( 'woocommerce-pdf-invoices-packing-slips/woocommerce-pdf-invoices-packingslips.php' ) ) {
1196
  $show_invoice_field = true;
1197
  } else{
@@ -1258,7 +1467,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1258
  'type' => 'dropdown',
1259
  'title' => __( 'Delivered Label font color', 'woo-advanced-shipment-tracking' ),
1260
  'options' => array(
1261
- "" =>__( 'Select', 'woo-advanced-shipment-tracking' ),
1262
  "#fff" =>__( 'Light', 'woo-advanced-shipment-tracking' ),
1263
  "#000" =>__( 'Dark', 'woo-advanced-shipment-tracking' ),
1264
  ),
@@ -1268,7 +1477,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1268
  'wcast_enable_delivered_email' => array(
1269
  'type' => 'checkbox',
1270
  'title' => __( 'Enable the Delivered order status email', 'woo-advanced-shipment-tracking' ),
1271
- 'title_link'=> "<a class='settings_edit' href='".wcast_initialise_customizer_email::get_customizer_url('customer_delivered_email')."'>".__( 'Edit', 'woo-advanced-shipment-tracking' )."</a>",
1272
  'class' => 'status_label_color_th',
1273
  'show' => true,
1274
  ),
@@ -1278,21 +1487,41 @@ class WC_Advanced_Shipment_Tracking_Admin {
1278
  }
1279
 
1280
  /*
1281
- * get settings tab array data
1282
  * return array
1283
  */
1284
- function get_uninstall_data(){
1285
- $form_data = array(
1286
- 'wc_ast_deactivate_delivered' => array(
 
 
 
 
 
 
 
 
 
 
 
 
 
1287
  'type' => 'dropdown',
1288
- 'title' => __( 'Change the "Delivered" orders to "Completed" when you deactivate the plugin', 'woo-advanced-shipment-tracking' ),
1289
  'options' => array(
1290
- "no" =>__( 'No, I will use the snippet', 'woo-advanced-shipment-tracking' ),
1291
- "yes" =>__( 'Yes, change all Delivered orders to Completed', 'woo-advanced-shipment-tracking' ),
1292
- ),
1293
- 'desc' => sprintf(__('PLEASE NOTE - If you use the custom order status "Delivered", when you deactivate the plugin, you must register this order status in function.php in order to see these orders in the orders admin. You can find the snippet to use in functions.php %s or we can set to change all your "delivered" order to "completed".', 'woo-advanced-shipment-tracking'), '<a href="https://www.zorem.com/docs/woocommerce-advanced-shipment-tracking/code-snippets/#delivered_code" target="blank">here</a>'),
 
 
 
 
 
 
 
 
1294
  'show' => true,
1295
- 'class' => 'status_label_color_th',
1296
  ),
1297
  );
1298
  return $form_data;
@@ -1307,152 +1536,108 @@ class WC_Advanced_Shipment_Tracking_Admin {
1307
 
1308
  $data = $this->get_settings_data();
1309
 
1310
- foreach( $data as $key => $val ){
1311
- update_option( $key, $_POST[ $key ] );
 
 
1312
  }
1313
 
1314
  $data = $this->get_delivered_data();
1315
 
1316
  foreach( $data as $key => $val ){
1317
- if($key == 'wcast_enable_delivered_email'){
1318
- $wcast_enable_delivered_email = get_option('woocommerce_customer_delivered_order_settings');
1319
- if($_POST['wcast_enable_delivered_email'] == 1){
1320
- $enabled = 'yes';
1321
- } else{
1322
- $enabled = 'no';
1323
- }
1324
- $opt = array(
1325
- 'enabled' => $enabled,
1326
- 'subject' => $wcast_enable_delivered_email['subject'],
1327
- 'heading' => $wcast_enable_delivered_email['heading'],
1328
- );
1329
- update_option( 'woocommerce_customer_delivered_order_settings', $opt );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1330
  }
1331
- update_option( $key, $_POST[ $key ] );
1332
  }
1333
 
1334
  echo json_encode( array('success' => 'true') );die();
1335
 
1336
  }
1337
  }
1338
-
1339
-
1340
-
1341
-
1342
  function footer_function(){
1343
  $bg_color = get_option('wc_ast_status_label_color');
1344
  $color = get_option('wc_ast_status_label_font_color','#fff');
 
 
 
1345
  ?>
1346
  <style>
1347
- .order-status.status-delivered{
1348
  background: <?php echo $bg_color; ?>;
1349
  color: <?php echo $color; ?>;
1350
  }
 
 
 
 
 
 
1351
  </style>
1352
  <?php
1353
  }
1354
 
1355
- function upload_tracking_csv_fun(){
1356
-
1357
- $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
 
1358
 
1359
  $replace_tracking_info = $_POST['replace_tracking_info'];
1360
  $order_id = $_POST['order_id'];
1361
 
1362
- if ( is_plugin_active( 'custom-order-numbers-for-woocommerce/custom-order-numbers-for-woocommerce.php' ) ) {
1363
- $alg_wc_custom_order_numbers_enabled = get_option('alg_wc_custom_order_numbers_enabled');
1364
- if($alg_wc_custom_order_numbers_enabled == 'yes'){
1365
- $args = array(
1366
- 'post_type' => 'shop_order',
1367
- 'posts_per_page' => '1',
1368
- 'meta_query' => array(
1369
- 'relation' => 'AND',
1370
- array(
1371
- 'key' => '_alg_wc_custom_order_number',
1372
- 'value' => $order_id
1373
- ),
1374
- ),
1375
- 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
1376
- );
1377
- $posts = get_posts( $args );
1378
- $my_query = new WP_Query( $args );
1379
-
1380
- if( $my_query->have_posts() ) {
1381
- while( $my_query->have_posts()) {
1382
- $my_query->the_post();
1383
- if(get_the_ID()){
1384
- $order_id = get_the_ID();
1385
- }
1386
- } // end while
1387
- } // end if
1388
- wp_reset_postdata();
1389
- }
1390
- }
1391
-
1392
- if ( is_plugin_active( 'woocommerce-sequential-order-numbers/woocommerce-sequential-order-numbers.php' ) ) {
1393
-
1394
- $s_order_id = wc_sequential_order_numbers()->find_order_by_order_number( $order_id );
1395
- if($s_order_id){
1396
- $order_id = $s_order_id;
1397
- }
1398
- }
1399
-
1400
- if ( is_plugin_active( 'wp-lister-amazon/wp-lister-amazon.php' ) ) {
1401
- $wpla_use_amazon_order_number = get_option( 'wpla_use_amazon_order_number' );
1402
- if($wpla_use_amazon_order_number == 1){
1403
- $args = array(
1404
- 'post_type' => 'shop_order',
1405
- 'posts_per_page' => '1',
1406
- 'meta_query' => array(
1407
- 'relation' => 'AND',
1408
- array(
1409
- 'key' => '_wpla_amazon_order_id',
1410
- 'value' => $order_id
1411
- ),
1412
- ),
1413
- 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
1414
- );
1415
- $posts = get_posts( $args );
1416
- $my_query = new WP_Query( $args );
1417
-
1418
- if( $my_query->have_posts() ) {
1419
- while( $my_query->have_posts()) {
1420
- $my_query->the_post();
1421
- if(get_the_ID()){
1422
- $order_id = get_the_ID();
1423
- }
1424
- } // end while
1425
- } // end if
1426
- wp_reset_postdata();
1427
- }
1428
- }
1429
-
1430
- if ( is_plugin_active( 'wp-lister/wp-lister.php' ) || is_plugin_active( 'wp-lister-for-ebay/wp-lister.php' )) {
1431
- $args = array(
1432
- 'post_type' => 'shop_order',
1433
- 'posts_per_page' => '1',
1434
- 'meta_query' => array(
1435
- 'relation' => 'AND',
1436
- array(
1437
- 'key' => '_ebay_extended_order_id',
1438
- 'value' => $order_id
1439
- ),
1440
- ),
1441
- 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
1442
- );
1443
- $posts = get_posts( $args );
1444
- $my_query = new WP_Query( $args );
1445
-
1446
- if( $my_query->have_posts() ) {
1447
- while( $my_query->have_posts()) {
1448
- $my_query->the_post();
1449
- if(get_the_ID()){
1450
- $order_id = get_the_ID();
1451
- }
1452
- } // end while
1453
- } // end if
1454
- wp_reset_postdata();
1455
- }
1456
 
1457
  $tracking_provider = $_POST['tracking_provider'];
1458
  $tracking_number = $_POST['tracking_number'];
@@ -1523,6 +1708,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1523
  echo '<li class="error">Failed - Invalid Tracking Data</li>';exit;
1524
  }
1525
  }
 
1526
  /**
1527
  * Check if the value is a valid date
1528
  *
@@ -1549,10 +1735,13 @@ class WC_Advanced_Shipment_Tracking_Admin {
1549
  * Change order status to delivered
1550
  */
1551
  function add_bulk_actions_get_shipment_status($bulk_actions){
1552
- $bulk_actions['get_shipment_status'] = 'Get Shipment status';
1553
  return $bulk_actions;
1554
  }
1555
 
 
 
 
1556
  function get_shipment_status_handle_bulk_action_edit_shop_order( $redirect_to, $action, $post_ids ){
1557
 
1558
  if ( $action !== 'get_shipment_status' )
@@ -1563,7 +1752,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1563
  $order_count = count($post_ids);
1564
 
1565
  if($order_count > 100){
1566
- return $redirect_to;
1567
  }
1568
 
1569
  foreach ( $post_ids as $post_id ) {
@@ -1580,6 +1769,9 @@ class WC_Advanced_Shipment_Tracking_Admin {
1580
  ), $redirect_to );
1581
  }
1582
 
 
 
 
1583
  public static function bulk_shipment_status_from_settings_fun(){
1584
  $args = array(
1585
  'status' => 'wc-completed',
@@ -1593,7 +1785,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1593
  $ast = new WC_Advanced_Shipment_Tracking_Actions;
1594
  $tracking_items = $ast->get_tracking_items( $order_id, true );
1595
  if($tracking_items){
1596
- $shipment_status = get_post_meta( $order_id, "shipment_status", true);
1597
  foreach ( $tracking_items as $key => $tracking_item ) {
1598
  if( !isset($shipment_status[$key]) ){
1599
  wp_schedule_single_event( time() + 1, 'wcast_retry_trackship_apicall', array( $order_id ) );
@@ -1605,6 +1797,36 @@ class WC_Advanced_Shipment_Tracking_Admin {
1605
  echo $url;die();
1606
  }
1607
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1608
  /**
1609
  * Add 'get_shipment_status' link to order actions select box on edit order page
1610
  *
@@ -1615,15 +1837,20 @@ class WC_Advanced_Shipment_Tracking_Admin {
1615
  public function add_order_meta_box_get_shipment_status_actions( $actions ) {
1616
 
1617
  // add download to CSV action
1618
- $actions['get_shipment_status_edit_order'] = __( 'Get shipment status', 'woo-advanced-shipment-tracking' );
1619
  return $actions;
1620
  }
1621
 
 
 
 
1622
  public function process_order_meta_box_actions_get_shipment_status( $order ){
1623
  $this->trigger_woocommerce_order_status_completed( $order->get_id() );
1624
  }
1625
-
1626
- // The results notice from bulk action on orders
 
 
1627
  function shipment_status_bulk_action_admin_notice() {
1628
  if ( empty( $_REQUEST['get_shipment_status'] ) ) return; // Exit
1629
 
@@ -1652,7 +1879,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1652
  $status = __( 'Delivered', 'woo-advanced-shipment-tracking' );
1653
  break;
1654
  case "out_for_delivery":
1655
- $status = __( 'Out for delivery', 'woo-advanced-shipment-tracking' );
1656
  break;
1657
  case "available_for_pickup":
1658
  $status = __( 'Available For Pickup', 'woo-advanced-shipment-tracking' );
@@ -1661,7 +1888,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1661
  $status = __( 'Return To Sender', 'woo-advanced-shipment-tracking' );
1662
  break;
1663
  case "failure":
1664
- $status = __( 'Delivery Failure', 'woo-advanced-shipment-tracking' );
1665
  break;
1666
  case "unknown":
1667
  $status = __( 'Unknown', 'woo-advanced-shipment-tracking' );
@@ -1670,10 +1897,10 @@ class WC_Advanced_Shipment_Tracking_Admin {
1670
  $status = __( 'Pending TrackShip', 'woo-advanced-shipment-tracking' );
1671
  break;
1672
  case "INVALID_TRACKING_NUM":
1673
- $status = __( 'Invalid Tracking', 'woo-advanced-shipment-tracking' );
1674
  break;
1675
  case "carrier_unsupported":
1676
- $status = __( 'Carrier unsupported', 'woo-advanced-shipment-tracking' );
1677
  break;
1678
  case "invalid_user_key":
1679
  $status = __( 'Invalid User Key', 'woo-advanced-shipment-tracking' );
@@ -1682,7 +1909,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1682
  $status = __( 'Wrong Shipping Provider', 'woo-advanced-shipment-tracking' );
1683
  break;
1684
  case "deleted":
1685
- $status = __( 'Deleted', 'woo-advanced-shipment-tracking' );
1686
  break;
1687
 
1688
  }
@@ -1722,16 +1949,16 @@ class WC_Advanced_Shipment_Tracking_Admin {
1722
  $html = '<span class="icon-'.$status.'">';
1723
  break;
1724
  case "INVALID_TRACKING_NUM":
1725
- $html = '<i class="fa fa-question-circle icon-'.$status.'" aria-hidden="true"></i>';
1726
  break;
1727
  case "wrong_shipping_provider":
1728
- $html = '<i class="fa fa-question-circle icon-'.$status.'" aria-hidden="true"></i>';
1729
  break;
1730
  case "invalid_user_key":
1731
  $html = '<span class="icon-'.$status.'">';
1732
  break;
1733
  default:
1734
- $html = '<i class="fa fa-question-circle icon-'.$status.'" aria-hidden="true"></i>';
1735
  break;
1736
 
1737
  }
@@ -1747,6 +1974,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1747
  $logger->info( "Retry trackship api call for Order id : ".$order_id, $context );
1748
  $this->trigger_woocommerce_order_status_completed( $order_id );
1749
  }
 
1750
  /*
1751
  * define the item in the meta box by adding an item to the $actions array
1752
  */
@@ -1754,6 +1982,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1754
  $actions['resend_delivered_order_notification'] = __( 'Resend delivered order notification', 'woo-advanced-shipment-tracking' );
1755
  return $actions;
1756
  }
 
1757
  /*
1758
  * function call when resend delivered order email notification trigger
1759
  */
@@ -1765,6 +1994,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1765
  //wc_advanced_shipment_tracking_email_class()->delivered_shippment_status_email_trigger($order_id, $order, $old_status, $new_status);
1766
  WC()->mailer()->emails['WC_Email_Customer_Delivered_Order']->trigger( $order_id, $order );
1767
  }
 
1768
  /*
1769
  * update preview order id in customizer
1770
  */
@@ -1779,6 +2009,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1779
  set_theme_mod('wcast_preview_order_id', $_POST['wcast_preview_order_id']);
1780
  exit;
1781
  }
 
1782
  /*
1783
  * update delivered order email status
1784
  */
@@ -1792,6 +2023,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1792
  update_option( 'woocommerce_customer_delivered_order_settings', $opt );
1793
  exit;
1794
  }
 
1795
  /*
1796
  * update all shipment status email status
1797
  */
@@ -1799,6 +2031,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1799
  set_theme_mod($_POST['id'], $_POST['wcast_enable_status_email']);
1800
  exit;
1801
  }
 
1802
  /*
1803
  * Change completed order email title to Shipped Order
1804
  */
@@ -1816,10 +2049,15 @@ class WC_Advanced_Shipment_Tracking_Admin {
1816
  }
1817
  return $email_title;
1818
  }
 
1819
  /*
1820
  * Add action button in order list to change order status from completed to delivered
1821
  */
1822
  public function add_delivered_order_status_actions_button($actions, $order){
 
 
 
 
1823
  $wc_ast_status_delivered = get_option('wc_ast_status_delivered');
1824
  if($wc_ast_status_delivered){
1825
  if ( $order->has_status( array( 'completed' ) ) ) {
@@ -1840,6 +2078,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1840
  );
1841
  return $actions;
1842
  }
 
1843
  /*
1844
  * Add delivered action button in preview order list to change order status from completed to delivered
1845
  */
@@ -1870,6 +2109,9 @@ class WC_Advanced_Shipment_Tracking_Admin {
1870
  return $actions;
1871
  }
1872
 
 
 
 
1873
  public function filter_shipiing_provider_by_status_fun(){
1874
  $status = $_POST['status'];
1875
  global $wpdb;
@@ -1890,6 +2132,9 @@ class WC_Advanced_Shipment_Tracking_Admin {
1890
  echo $html;exit;
1891
  }
1892
 
 
 
 
1893
  public function get_provider_html($default_shippment_providers,$status){
1894
  $WC_Countries = new WC_Countries();
1895
  ?>
@@ -1963,6 +2208,7 @@ class WC_Advanced_Shipment_Tracking_Admin {
1963
  </div>
1964
  <?php
1965
  }
 
1966
  /*
1967
  * Update shipment provider status
1968
  */
@@ -1978,6 +2224,9 @@ class WC_Advanced_Shipment_Tracking_Admin {
1978
  exit;
1979
  }
1980
 
 
 
 
1981
  function update_default_provider_fun(){
1982
  if($_POST['checked'] == 1){
1983
  update_option("wc_ast_default_provider", $_POST['default_provider'] );
@@ -1987,25 +2236,62 @@ class WC_Advanced_Shipment_Tracking_Admin {
1987
  exit;
1988
  }
1989
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1990
  function add_custom_shipment_provider_fun(){
1991
 
1992
  global $wpdb;
1993
 
1994
  $woo_shippment_table_name = $this->table;
1995
-
 
 
 
 
1996
  $data_array = array(
1997
  'shipping_country' => sanitize_text_field($_POST['shipping_country']),
1998
  'provider_name' => sanitize_text_field($_POST['shipping_provider']),
1999
- 'ts_slug' => sanitize_title($_POST['shipping_provider']),
2000
  'provider_url' => sanitize_text_field($_POST['tracking_url']),
2001
  'custom_thumb_id' => sanitize_text_field($_POST['thumb_id']),
2002
  'display_in_order' => 1,
2003
  'shipping_default' => 0,
2004
  );
 
2005
  $result = $wpdb->insert( $woo_shippment_table_name, $data_array );
2006
 
2007
  $status = 'custom';
2008
- $default_shippment_providers = $wpdb->get_results( "SELECT * FROM $this->table WHERE shipping_default = 0" );
2009
  $html = $this->get_provider_html($default_shippment_providers,$status);
2010
  echo $html;exit;
2011
  }
@@ -2030,6 +2316,9 @@ class WC_Advanced_Shipment_Tracking_Admin {
2030
  echo $html;exit;
2031
  }
2032
 
 
 
 
2033
  public function get_provider_details_fun(){
2034
  $id = $_POST['provider_id'];
2035
  global $wpdb;
@@ -2038,6 +2327,9 @@ class WC_Advanced_Shipment_Tracking_Admin {
2038
  echo json_encode( array('id' => $shippment_provider[0]->id,'provider_name' => $shippment_provider[0]->provider_name,'provider_url' => $shippment_provider[0]->provider_url,'shipping_country' => $shippment_provider[0]->shipping_country,'custom_thumb_id' => $shippment_provider[0]->custom_thumb_id,'image' => $image) );exit;
2039
  }
2040
 
 
 
 
2041
  public function update_custom_shipment_provider_fun(){
2042
 
2043
  global $wpdb;
@@ -2058,6 +2350,9 @@ class WC_Advanced_Shipment_Tracking_Admin {
2058
  echo $html;exit;
2059
  }
2060
 
 
 
 
2061
  public function update_provider_status_active_fun(){
2062
  global $wpdb;
2063
  $data_array = array(
@@ -2073,6 +2368,9 @@ class WC_Advanced_Shipment_Tracking_Admin {
2073
  exit;
2074
  }
2075
 
 
 
 
2076
  public function update_provider_status_inactive_fun(){
2077
  global $wpdb;
2078
  $data_array = array(
@@ -2089,120 +2387,131 @@ class WC_Advanced_Shipment_Tracking_Admin {
2089
  exit;
2090
  }
2091
 
 
 
 
2092
  public function sync_providers_fun(){
2093
  global $wpdb;
2094
 
2095
  $url = 'https://trackship.info/wp-json/WCAST/v1/Provider';
2096
  $resp = wp_remote_get( $url );
2097
- $providers = json_decode($resp['body'],true);
2098
 
2099
- $default_shippment_providers = $wpdb->get_results( "SELECT * FROM $this->table WHERE shipping_default = 1" );
2100
-
2101
- foreach ( $default_shippment_providers as $key => $val ){
2102
- $shippment_providers[ $val->provider_name ] = $val;
2103
- }
2104
-
2105
- foreach ( $providers as $key => $val ){
2106
- $providers_name[ $val['provider_name'] ] = $val;
2107
- }
2108
 
2109
- $added = 0;
2110
- $updated = 0;
2111
- $deleted = 0;
2112
- $added_html = '';
2113
- $updated_html = '';
2114
- $deleted_html = '';
2115
-
2116
- foreach($providers as $provider){
2117
 
2118
- $provider_name = $provider['shipping_provider'];
2119
- $provider_url = $provider['provider_url'];
2120
- $shipping_country = $provider['shipping_country'];
2121
- $ts_slug = $provider['shipping_provider_slug'];
 
 
 
 
 
 
 
 
 
 
2122
 
2123
- if($shippment_providers[$provider_name]){
2124
- $db_provider_url = $shippment_providers[$provider_name]->provider_url;
2125
- $db_shipping_country = $shippment_providers[$provider_name]->shipping_country;
2126
- $db_ts_slug = $shippment_providers[$provider_name]->ts_slug;
2127
- if(($db_provider_url != $provider_url) || ($db_shipping_country != $shipping_country) || ($db_ts_slug != $ts_slug)){
2128
- $data_array = array(
2129
- 'ts_slug' => $ts_slug,
2130
- 'provider_url' => $provider_url,
2131
- 'shipping_country' => $shipping_country,
2132
- );
2133
- $where_array = array(
2134
- 'provider_name' => $provider_name,
2135
- );
2136
- $wpdb->update( $this->table, $data_array, $where_array);
2137
- $updated_data[$updated] = array('provider_name' => $provider_name);
2138
- $updated++;
2139
- }
2140
- } else{
2141
- $img_url = $provider['img_url'];
2142
 
2143
- $img_slug = sanitize_title($provider_name);
2144
- $img = wc_advanced_shipment_tracking()->get_plugin_path().'/assets/shipment-provider-img/'.$img_slug.'.png';
 
 
2145
 
2146
- $ch = curl_init();
2147
-
2148
- curl_setopt($ch, CURLOPT_HEADER, 0);
2149
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
2150
- curl_setopt($ch, CURLOPT_URL, $img_url);
2151
-
2152
- $data = curl_exec($ch);
2153
- curl_close($ch);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2154
 
2155
- file_put_contents($img, $data);
2156
-
 
 
2157
 
2158
- $data_array = array(
2159
- 'shipping_country' => sanitize_text_field($shipping_country),
2160
- 'provider_name' => sanitize_text_field($provider_name),
2161
- 'ts_slug' => $ts_slug,
2162
- 'provider_url' => sanitize_text_field($provider_url),
2163
- 'display_in_order' => 0,
2164
- 'shipping_default' => 1,
2165
- );
2166
- $result = $wpdb->insert( $this->table, $data_array );
2167
- $added_data[$added] = array('provider_name' => $provider_name);
2168
- $added++;
 
 
2169
  }
2170
- }
2171
- foreach($default_shippment_providers as $db_provider){
2172
- if(!isset($providers_name[$db_provider->provider_name])){
2173
- $where = array(
2174
- 'provider_name' => $db_provider->provider_name,
2175
- 'shipping_default' => 1
2176
- );
2177
- $wpdb->delete( $this->table, $where );
2178
- $deleted_data[$deleted] = array('provider_name' => $db_provider->provider_name);
2179
- $deleted++;
2180
  }
2181
- }
2182
- if($added > 0){
2183
- ob_start();
2184
- $added_html = $this->added_html($added_data);
2185
- $added_html = ob_get_clean();
2186
- }
2187
- if($updated > 0){
2188
- ob_start();
2189
- $updated_html = $this->updated_html($updated_data);
2190
- $updated_html = ob_get_clean();
2191
- }
2192
- if($deleted > 0){
 
 
 
 
 
 
2193
  ob_start();
2194
- $deleted_html = $this->deleted_html($deleted_data);
2195
- $deleted_html = ob_get_clean();
2196
- }
2197
-
2198
- $status = 'active';
2199
- $default_shippment_providers = $wpdb->get_results( "SELECT * FROM $this->table WHERE display_in_order = 1" );
2200
- ob_start();
2201
- $html = $this->get_provider_html($default_shippment_providers,$status);
2202
- $html = ob_get_clean();
2203
- echo json_encode( array('added' => $added,'added_html' =>$added_html,'updated' => $updated,'updated_html' =>$updated_html,'deleted' => $deleted,'deleted_html' =>$deleted_html,'html' => $html) );exit;
2204
  }
2205
 
 
 
 
2206
  public function added_html($added_data){ ?>
2207
  <ul class="updated_details" id="added_providers">
2208
  <?php
@@ -2215,6 +2524,9 @@ class WC_Advanced_Shipment_Tracking_Admin {
2215
  <a class="view_synch_details" id="hide_added_details" href="javaScript:void(0);" style="display: none;"><?php _e( 'hide details', 'woo-advanced-shipment-tracking'); ?></a>
2216
  <?php }
2217
 
 
 
 
2218
  public function updated_html($updated_data){ ?>
2219
  <ul class="updated_details" id="updated_providers">
2220
  <?php
@@ -2227,6 +2539,9 @@ class WC_Advanced_Shipment_Tracking_Admin {
2227
  <a class="view_synch_details" id="hide_updated_details" href="javaScript:void(0);" style="display: none;"><?php _e( 'hide details', 'woo-advanced-shipment-tracking'); ?></a>
2228
  <?php }
2229
 
 
 
 
2230
  public function deleted_html($deleted_data){ ?>
2231
  <ul class="updated_details" id="deleted_providers">
2232
  <?php
@@ -2237,7 +2552,8 @@ class WC_Advanced_Shipment_Tracking_Admin {
2237
  </ul>
2238
  <a class="view_synch_details" id="view_deleted_details" href="javaScript:void(0);" style="display: block;"><?php _e( 'view details', 'woo-advanced-shipment-tracking'); ?></a>
2239
  <a class="view_synch_details" id="hide_deleted_details" href="javaScript:void(0);" style="display: none;"><?php _e( 'hide details', 'woo-advanced-shipment-tracking'); ?></a>
2240
- <?php }
 
2241
  /**
2242
  * Add bulk filter for Shipment status in orders list
2243
  *
@@ -2254,11 +2570,11 @@ class WC_Advanced_Shipment_Tracking_Admin {
2254
  'unknown' => (object) array( 'count' => $count['unknown'], 'term' => __( 'Unknown', 'woo-advanced-shipment-tracking' ) ),
2255
  'pre_transit' => (object) array( 'count' => $count['pre_transit'],'term' => __( 'Pre Transit', 'woo-advanced-shipment-tracking' ) ),
2256
  'in_transit' => (object) array( 'count' => $count['in_transit'],'term' => __( 'In Transit', 'woo-advanced-shipment-tracking' ) ),
2257
- 'available_for_pickup' => (object) array( 'count' => $count['available_for_pickup'],'term' => __( 'Available for Pickup', 'woo-advanced-shipment-tracking' ) ),
2258
- 'out_for_delivery' => (object) array( 'count' => $count['out_for_delivery'],'term' => __( 'Out for Delivery', 'woo-advanced-shipment-tracking' ) ),
2259
  'delivered' => (object) array( 'count' => $count['delivered'],'term' => __( 'Delivered', 'woo-advanced-shipment-tracking' ) ),
2260
  'failed_attempt' => (object) array( 'count' => $count['failed_attempt'],'term' => __( 'Failed Attempt', 'woo-advanced-shipment-tracking' ) ),
2261
- 'cancelled' => (object) array( 'count' => $count['cancelled'],'term' => __( 'Cancelled', 'woo-advanced-shipment-tracking' ) ),
2262
  'carrier_unsupported' => (object) array( 'count' => $count['carrier_unsupported'],'term' => __( 'Carrier Unsupported', 'woo-advanced-shipment-tracking' ) ),
2263
  'return_to_sender' => (object) array( 'count' => $count['return_to_sender'],'term' => __( 'Return To Sender', 'woo-advanced-shipment-tracking' ) ),
2264
  'INVALID_TRACKING_NUM' => (object) array( 'count' => $count['invalid_tracking_number'],'term' => __( 'Invalid Tracking Number', 'woo-advanced-shipment-tracking' ) ),
@@ -2356,77 +2672,253 @@ class WC_Advanced_Shipment_Tracking_Admin {
2356
  * Add a new dashboard widget.
2357
  */
2358
  public function ast_add_dashboard_widgets() {
2359
- wp_add_dashboard_widget( 'dashboard_widget', 'TrackShip Reports', array( $this, 'dashboard_widget_function') );
2360
  }
2361
  /**
2362
  * Output the contents of the dashboard widget
2363
  */
2364
- public function dashboard_widget_function( $post, $callback_args ) { ?>
2365
- <div class="ast-dashborad-widget row align-equal row-dashed" id="">
2366
- <div class="col medium-6 small-12 large-6">
2367
- <div class="col-inner">
2368
- <p data-line-height="s"><strong>Shipment Trackers</strong></p>
2369
- <p><span style="font-size: 100%;"><span style="font-size: 200%;" data-text-color="primary">7</span>
2370
- <span class="ft12 red">42% <i class="fa fa-arrow-down"></i></span></span>
2371
- </p>
2372
- </div>
2373
- </div>
2374
- <div class="col medium-6 small-12 large-6">
2375
- <div class="col-inner">
2376
- <p data-line-height="s"><strong>Shipment Providers</strong></p>
2377
- <table class="table">
2378
- <tbody>
2379
- <tr class="card-category">
2380
- <td><strong>ups</strong></td>
2381
- <td>3</td>
2382
- <td><span class="ft12 green">0% <i class="fa fa-arrow-up"></i></span></td>
2383
- </tr>
2384
- <tr class="card-category">
2385
- <td><strong>usps</strong></td>
2386
- <td>2</td>
2387
- <td><span class="ft12 red">33% <i class="fa fa-arrow-down"></i></span></td>
2388
- </tr>
2389
- <tr class="card-category">
2390
- <td><strong>dhlparcel-nl</strong></td>
2391
- <td>1</td>
2392
- <td><span class="ft12 green">100% <i class="fa fa-arrow-up"></i></span></td>
2393
- </tr>
2394
- </tbody>
2395
- </table>
2396
- </div>
2397
- </div>
2398
- <div class="col medium-6 small-12 large-6">
2399
- <div class="col-inner">
2400
- <p data-line-height="s"><strong>Shipment Status</strong></p>
2401
- <p data-line-height="s">
2402
- </p>
2403
- <table class="table">
2404
- <tbody>
2405
- <tr class="card-category">
2406
- <td><strong>Delivered</strong></td>
2407
- <td>6</td>
2408
- <td><span class="ft12 red">45% <i class="fa fa-arrow-down"></i></span></td>
2409
- </tr>
2410
- <tr class="card-category">
2411
- <td><strong>Return to sender</strong></td>
2412
- <td>1</td>
2413
- <td><span class="ft12 green">100% <i class="fa fa-arrow-up"></i></span></td>
2414
- </tr>
2415
- </tbody>
2416
- </table>
2417
- </div>
2418
- </div>
2419
- <div class="col medium-6 small-12 large-6">
2420
- <div class="col-inner">
2421
- <p data-line-height="s"><strong>Tracking Issues</strong></p>
2422
- <table class="table">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2423
  <tbody>
 
 
 
 
 
 
2424
  </tbody>
2425
  </table>
2426
- </div>
2427
- </div>
2428
- <style scope="scope">
2429
- </style>
 
 
 
 
2430
  </div>
2431
  <?php }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2432
  }
76
  add_filter( 'bulk_actions-edit-shop_order', array( $this, 'add_bulk_actions'), 50, 1 );
77
  }
78
 
79
+ //new order status
80
+ $partial_shipped_status = get_option( "wc_ast_status_partial_shipped", 0);
81
+ if( $partial_shipped_status == true ){
82
+ //register order status
83
+ add_action( 'init', array( $this, 'register_partial_shipped_order_status') );
84
+ //add status after completed
85
+ add_filter( 'wc_order_statuses', array( $this, 'add_partial_shipped_to_order_statuses') );
86
+ //Custom Statuses in admin reports
87
+ add_filter( 'woocommerce_reports_order_statuses', array( $this, 'include_partial_shipped_order_status_to_reports'), 20, 1 );
88
+ // for automate woo to check order is paid
89
+ add_filter( 'woocommerce_order_is_paid_statuses', array( $this, 'partial_shipped_woocommerce_order_is_paid_statuses' ) );
90
+ //add bulk action
91
+ add_filter( 'bulk_actions-edit-shop_order', array( $this, 'add_bulk_actions_partial_shipped'), 50, 1 );
92
+ }
93
+
94
  //cron_schedules
95
  add_filter( 'cron_schedules', array( $this, 'add_cron_interval') );
96
  //cron hook
125
  // Bulk shipment status sync ajax call from settings
126
  add_action( 'wp_ajax_bulk_shipment_status_from_settings', array( $this, 'bulk_shipment_status_from_settings_fun' ) );
127
 
128
+ // Bulk shipment status sync for empty balance ajax call from settings
129
+ add_action( 'wp_ajax_bulk_shipment_status_for_empty_balance_from_settings', array( $this, 'bulk_shipment_status_for_empty_balance_from_settings_fun' ) );
130
+
131
  // The results notice from bulk action on orders
132
  add_action( 'admin_notices', array( $this, 'shipment_status_bulk_action_admin_notice' ) );
133
 
139
  add_action( 'restrict_manage_posts', array( $this, 'filter_orders_by_shipment_status') , 20 );
140
  add_filter( 'request', array( $this, 'filter_orders_by_shipment_status_query' ) );
141
 
142
+ add_action( 'wp_dashboard_setup', array( $this, 'ast_add_dashboard_widgets') );
143
  }
144
 
145
  // trigger when order status changed to shipped or completed
190
 
191
  add_action( 'wp_ajax_update_shipment_status', array( $this, 'update_shipment_status_fun') );
192
 
193
+ add_action( 'wp_ajax_sync_providers', array( $this, 'sync_providers_fun') );
194
+
195
+ // Hook for add admin body class in settings page
196
+ add_filter( 'admin_body_class', array( $this, 'ahipment_tracking_admin_body_class' ) );
197
+
198
+ add_action( 'woocommerce_update_options_email_customer_delivered_order', array( $this, 'save_delivered_email' ) ,100, 1);
199
+
200
+ add_action( 'woocommerce_update_options_email_customer_partial_shipped_order', array( $this, 'save_partial_shipped_email' ) ,100, 1);
201
  }
202
 
203
  /*
220
  maybe_create_table( $table_name, $sql );
221
  }
222
 
223
+ /*
224
+ * Add class in admin settings page
225
+ */
226
+ public function ahipment_tracking_admin_body_class($classes){
227
+ $page = (isset($_REQUEST["page"])?$_REQUEST["page"]:"");
228
+ if( $page == 'woocommerce-advanced-shipment-tracking') {
229
+ $classes .= 'shipment_tracking_admin_settings';
230
+ }
231
+ return $classes;
232
+ }
233
+
234
  /*
235
  * Rename WooCommerce Order Status
236
  */
304
  }
305
  }
306
 
307
+ /**
308
+ * Register new status : Partial Shipped
309
+ **/
310
+ function register_partial_shipped_order_status() {
311
+ register_post_status( 'wc-partial-shipped', array(
312
+ 'label' => __( 'Partial Shipped', 'woo-advanced-shipment-tracking' ),
313
+ 'public' => true,
314
+ 'show_in_admin_status_list' => true,
315
+ 'show_in_admin_all_list' => true,
316
+ 'exclude_from_search' => false,
317
+ 'label_count' => _n_noop( 'Partial Shipped <span class="count">(%s)</span>', 'Partial Shipped <span class="count">(%s)</span>', 'woo-advanced-shipment-tracking' )
318
+ ) );
319
+ }
320
+
321
  /*
322
  * add status after completed
323
  */
344
  return $new_order_statuses;
345
  }
346
 
347
+ /*
348
+ * add status after completed
349
+ */
350
+ function add_partial_shipped_to_order_statuses( $order_statuses ) {
351
+ $new_order_statuses = array();
352
+ foreach ( $order_statuses as $key => $status ) {
353
+ $new_order_statuses[ $key ] = $status;
354
+ if ( 'wc-completed' === $key ) {
355
+ $new_order_statuses['wc-partial-shipped'] = __( 'Partial Shipped', 'woo-advanced-shipment-tracking' );
356
+ }
357
+ }
358
+ return $new_order_statuses;
359
+ }
360
+
361
  /*
362
  * Adding the custom order status to the default woocommerce order statuses
363
  */
367
  return $statuses;
368
  }
369
 
370
+ /*
371
+ * Adding the partial-shipped order status to the default woocommerce order statuses
372
+ */
373
+ function include_partial_shipped_order_status_to_reports( $statuses ){
374
+ if($statuses)$statuses[] = 'partial-shipped';
375
+ return $statuses;
376
+ }
377
+
378
  /*
379
  * mark status as a paid.
380
  */
384
  return $statuses;
385
  }
386
 
387
+ /*
388
+ * mark status as a paid.
389
+ */
390
+ function partial_shipped_woocommerce_order_is_paid_statuses( $statuses ) {
391
+ $statuses[] = 'partial-shipped';
392
+ return $statuses;
393
+ }
394
+
395
  /*
396
  * add bulk action
397
  * Change order status to delivered
401
  return $bulk_actions;
402
  }
403
 
404
+ /*
405
+ * add bulk action
406
+ * Change order status to delivered
407
+ */
408
+ function add_bulk_actions_partial_shipped( $bulk_actions ){
409
+ $bulk_actions['mark_partial-shipped'] = __( 'Change status to partial shipped', 'woo-advanced-shipment-tracking' );
410
+ return $bulk_actions;
411
+ }
412
+
413
  /*
414
  * add_cron_interval
415
  */
505
  return $value;
506
  }
507
 
508
+ /*
509
+ * If order status is "Updated Tracking" or "Completed" than retrn true else return false
510
+ */
511
  function check_order_status($value, $order){
512
  $order_status = $order->get_status();
513
 
514
+ $all_order_status = wc_get_order_statuses();
515
+
516
+ $default_order_status = array(
517
+ 'wc-pending' => 'Pending payment',
518
+ 'wc-processing' => 'Processing',
519
+ 'wc-on-hold' => 'On hold',
520
+ 'wc-completed' => 'Completed',
521
+ 'wc-delivered' => 'Delivered',
522
+ 'wc-cancelled' => 'Cancelled',
523
+ 'wc-refunded' => 'Refunded',
524
+ 'wc-failed' => 'Failed'
525
+ );
526
+
527
+ foreach($default_order_status as $key=>$value){
528
+ unset($all_order_status[$key]);
529
+ }
530
+
531
+ $custom_order_status = $all_order_status;
532
+
533
+ foreach($custom_order_status as $key=>$value){
534
+ unset($custom_order_status[$key]);
535
+ $key = str_replace("wc-", "", $key);
536
+ $custom_order_status[] = $key;
537
+ }
538
+
539
+ if($order_status == 'updated-tracking' || $order_status == 'completed' || in_array($order_status, $custom_order_status)){
540
  return true;
541
  } else {
542
  return false;
543
  }
544
  return $value;
545
  }
546
+
547
  /*
548
  * add in batch process
549
  */
724
  */
725
  public function admin_styles($hook) {
726
 
727
+
728
+ //amcharts js
729
+ wp_enqueue_script( 'amcharts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/amcharts/amcharts.js' );
730
+ wp_enqueue_script( 'amcharts-light-theme', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/amcharts/light.js' );
731
+ wp_enqueue_script( 'amcharts-serial', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/amcharts/serial.js' );
732
+
733
+ if(!isset($_GET['page'])) {
734
+ return;
735
+ }
736
+ if( $_GET['page'] != 'woocommerce-advanced-shipment-tracking') {
737
+ return;
738
+ }
739
+
740
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
741
 
742
  wp_enqueue_style( 'font-awesome', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/font-awesome.min.css', array(), '4.7' );
754
  ),
755
  ) );
756
 
 
 
 
 
 
 
 
 
 
 
757
  wp_register_script( 'selectWoo', WC()->plugin_url() . '/assets/js/selectWoo/selectWoo.full' . $suffix . '.js', array( 'jquery' ), '1.0.4' );
758
  wp_register_script( 'wc-enhanced-select', WC()->plugin_url() . '/assets/js/admin/wc-enhanced-select' . $suffix . '.js', array( 'jquery', 'selectWoo' ), WC_VERSION );
759
  wp_register_script( 'jquery-blockui', WC()->plugin_url() . '/assets/js/jquery-blockui/jquery.blockUI' . $suffix . '.js', array( 'jquery' ), '2.70', true );
768
  wp_enqueue_script( 'jquery-tiptip' );
769
  wp_enqueue_script( 'jquery-blockui' );
770
  wp_enqueue_script( 'wp-color-picker' );
771
+ wp_enqueue_script( 'jquery-ui-sortable' );
 
772
  wp_enqueue_script('media-upload');
773
  wp_enqueue_script('thickbox');
774
+ wp_enqueue_style('thickbox');
 
775
 
776
  wp_enqueue_style( 'material-css', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/material.css', array(), wc_advanced_shipment_tracking()->version );
777
  wp_enqueue_script( 'material-js', wc_advanced_shipment_tracking()->plugin_dir_url().'assets/js/material.min.js', array( 'jquery' ), wc_advanced_shipment_tracking()->version );
782
 
783
  wp_register_script( 'shipment_tracking_table_rows', wc_advanced_shipment_tracking()->plugin_dir_url().'assets/js/shipping_row.js' , array( 'jquery', 'wp-util' ), wc_advanced_shipment_tracking()->version );
784
  wp_localize_script( 'shipment_tracking_table_rows', 'shipment_tracking_table_rows', array(
785
+ 'i18n' => array(
 
 
 
 
 
 
 
786
  'data_saved' => __( 'Data saved successfully.', 'woo-advanced-shipment-tracking' ),
787
  'delete_provider' => __( 'Really delete this entry? This will not be undo.', 'woo-advanced-shipment-tracking' ),
788
  'upload_only_csv_file' => __( 'You can upload only csv file.', 'woo-advanced-shipment-tracking' ),
791
  ),
792
  'delete_rates_nonce' => wp_create_nonce( "delete-rate" ),
793
  ) );
794
+ wp_enqueue_media();
 
 
795
  }
796
 
797
  /*
801
  public function register_woocommerce_menu() {
802
  add_submenu_page( 'woocommerce', 'Shipment Tracking', 'Shipment Tracking', 'manage_options', 'woocommerce-advanced-shipment-tracking', array( $this, 'woocommerce_advanced_shipment_tracking_page_callback' ) );
803
  }
804
+
805
+ /*
806
+ * Sort by Country ascending
807
+ */
808
  public function sortByCountryAsc($a, $b) {
809
  return strcmp($a->country, $b->country);
810
  }
811
+
812
+ /*
813
+ * Sort by Country descending
814
+ */
815
  public function sortByCountryDesc($a, $b) {
816
  return strcmp($b->country, $a->country);
817
  }
818
+
819
  /*
820
  * callback for Shipment Tracking page
821
  */
846
  }
847
  }
848
  wp_enqueue_script( 'shipment_tracking_table_rows' );
849
+ ?>
850
+ <div class="white-bg">
851
+ <img class="plugin-logo" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/images/ast-logo.png">
852
+ </div>
853
  <div class="woocommerce zorem_admin_layout">
854
+ <div class="ast_admin_content" >
855
+ <input id="tab2" type="radio" name="tabs" class="tab_input" data-tab="settings" checked>
856
+ <label for="tab2" class="tab_label first_label"><?php _e('Settings', 'woocommerce'); ?></label>
 
857
 
858
  <input id="tab1" type="radio" name="tabs" class="tab_input" data-tab="shipping-providers" <?php if(isset($_GET['tab']) && $_GET['tab'] == 'shipping-providers'){ echo 'checked'; } ?>>
859
+ <label for="tab1" class="tab_label"><?php _e('Shipping Providers', 'woo-advanced-shipment-tracking'); ?></label>
 
860
  <input id="tab4" type="radio" name="tabs" class="tab_input" data-tab="bulk-upload" <?php if(isset($_GET['tab']) && $_GET['tab'] == 'bulk-upload'){ echo 'checked'; } ?>>
861
  <label for="tab4" class="tab_label"><?php _e('Bulk Upload', 'woo-advanced-shipment-tracking'); ?></label>
862
 
863
  <input id="tab3" type="radio" name="tabs" class="tab_input" data-tab="trackship" <?php if(isset($_GET['tab']) && ($_GET['tab'] == 'trackship' || $_GET['tab'] == 'tracking-page' || $_GET['tab'] == 'shipment-status-notifications')){ echo 'checked'; } ?>>
864
+ <label for="tab3" class="tab_label">TrackShip</label>
865
+
866
+ <?php
867
+ $wc_ast_api_key = get_option('wc_ast_api_key');
868
+ if($wc_ast_api_key){
869
+ ?>
870
+ <input id="tab5" type="radio" name="tabs" class="tab_input" data-tab="tools" <?php if(isset($_GET['tab']) && ($_GET['tab'] == 'tools')){ echo 'checked'; } ?>>
871
+ <label for="tab5" class="tab_label"><?php _e('Tools', 'woo-advanced-shipment-tracking'); ?></label>
872
+ <?php } ?>
873
 
874
  <div class="nav_doc_section">
875
+ <a target="blank" class="doc_link" href="https://www.zorem.com/docs/woocommerce-advanced-shipment-tracking/"><?php _e( 'Documentation', 'woo-advanced-shipment-tracking' ); ?></a>
876
+ <a href="JavaScript:void(0);" class="open_video_popup"><?php _e( 'How to Video', 'woo-advanced-shipment-tracking' ); ?></a>
877
+ </div>
878
 
879
  <?php require_once( 'views/admin_options_shipping_provider.php' );?>
880
  <?php require_once( 'views/admin_options_settings.php' );?>
881
  <?php require_once( 'views/admin_options_trackship_integration.php' );?>
882
+ <?php require_once( 'views/admin_options_bulk_upload.php' );?>
883
+ <?php if($wc_ast_api_key){ require_once( 'views/admin_options_tools.php' ); }?>
884
+ </div>
885
  </div>
886
  <div id="demo-toast-example" class="mdl-js-snackbar mdl-snackbar">
887
  <div class="mdl-snackbar__text"></div>
906
  /*
907
  * get html of fields
908
  */
909
+ public function get_html( $arrays ){
910
 
911
  $checked = '';
912
  ?>
935
  <?php if( $array['type'] == 'checkbox' ){
936
  if($id === 'wcast_enable_delivered_email'){
937
  $wcast_enable_delivered_email = get_option('woocommerce_customer_delivered_order_settings');
938
+ //echo '<pre>';print_r($wcast_enable_delivered_email);echo '</pre>';
939
+
940
+ if($wcast_enable_delivered_email['enabled'] == 'yes' || $wcast_enable_delivered_email['enabled'] == 1){
941
  $checked = 'checked';
942
  } else{
943
+ $checked = '';
944
  }
945
+ } elseif($id === 'wcast_enable_partial_shipped_email'){
946
+ $wcast_enable_partial_shipped_email = get_option('woocommerce_customer_partial_shipped_order_settings');
947
+
948
+ if($wcast_enable_partial_shipped_email['enabled'] == 'yes' || $wcast_enable_partial_shipped_email['enabled'] == 1){
949
+ $checked = 'checked';
950
+ } else{
951
+ $checked = '';
952
+ }
953
+ } else{
954
  if(get_option($id)){
955
  $checked = 'checked';
956
  } else{
972
  </label>
973
  </span>
974
  <?php } elseif( $array['type'] == 'multiple_checkbox' ){ ?>
975
+ <?php
976
+ $op = 1;
977
+ foreach((array)$array['options'] as $key => $val ){
978
+ if($val['type'] == 'default'){
979
  $multi_checkbox_data = get_option($id);
980
+ if(isset($multi_checkbox_data[$key]) && $multi_checkbox_data[$key] == 1){
 
 
 
 
 
 
981
  $checked="checked";
982
  } else{
983
  $checked="";
984
  }?>
985
+ <span class="mdl-list__item-secondary-action multiple_checkbox">
986
+ <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="<?php echo $key?>">
987
+ <input type="hidden" name="<?php echo $id?>[<?php echo $key?>]" value="0"/>
988
+ <input type="checkbox" id="<?php echo $key?>" name="<?php echo $id?>[<?php echo $key?>]" class="mdl-switch__input" <?php echo $checked; ?> value="1"/>
989
+ <span class="multiple_label"><?php echo $val['status']; ?></span>
990
+ </br>
991
+ </label>
992
+ </span>
993
+ <?php }
994
+ if($val['type'] == 'custom'){
995
+ $multi_checkbox_data = get_option($id);
996
+ if(isset($multi_checkbox_data[$key]) && $multi_checkbox_data[$key] == 1){
997
+ $checked="checked";
998
+ } else{
999
+ $checked="";
1000
+ }
1001
+ if($op == 1){ ?>
1002
+ <div style="margin: 10px 0 15px;">
1003
+ <strong style="font-weight: 700;padding-bottom: 3px;">
1004
+ <?php _e( 'Custom Statuses', 'woo-advanced-shipment-tracking' ); ?>
1005
+ </strong>
1006
+ </div>
1007
+ <?php } ?>
1008
  <span class="mdl-list__item-secondary-action multiple_checkbox">
1009
  <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="<?php echo $key?>">
1010
+ <input type="hidden" name="<?php echo $id?>[<?php echo $key?>]" value="0"/>
1011
  <input type="checkbox" id="<?php echo $key?>" name="<?php echo $id?>[<?php echo $key?>]" class="mdl-switch__input" <?php echo $checked; ?> value="1"/>
1012
+ <span class="multiple_label"><?php echo $val['status']; ?></span>
1013
+ </br>
1014
  </label>
1015
+ </span>
1016
+ <?php $op++; }
1017
+ } ?>
1018
 
1019
  <?php } elseif( isset( $array['type'] ) && $array['type'] == 'dropdown' ){?>
1020
  <?php
1052
  <?php } ?>
1053
  </fieldset>
1054
  <?php }
 
 
 
 
 
 
 
 
 
 
 
1055
  elseif( $array['type'] == 'label' ){ ?>
1056
  <fieldset>
1057
  <label><?php echo $array['value']; ?></label>
1064
  <?php }
1065
  elseif( $array['type'] == 'button' ){ ?>
1066
  <fieldset>
1067
+ <button class="button-primary btn_green2 <?php echo $array['button_class'];?>" <?php if($array['disable'] == 1){ echo 'disabled'; }?>><?php echo $array['label'];?></button>
1068
  </fieldset>
1069
  <?php }
1070
  else { ?>
1082
  <?php } } ?>
1083
  </tbody>
1084
  </table>
1085
+ <?php
1086
+ }
1087
 
1088
  /*
1089
+ * get trackship bulk actions tab array data
1090
  * return array
1091
  */
1092
+ function get_trackship_bulk_actions_data(){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1093
  // Get orders completed.
1094
  $args = array(
1095
  'status' => 'wc-completed',
1096
  'limit' => -1,
1097
  'date_created' => '>' . ( time() - 2592000 ),
1098
  );
1099
+
1100
  $orders = wc_get_orders( $args );
1101
  $completed_order_with_tracking = 0;
1102
+
1103
  foreach($orders as $order){
1104
  $order_id = $order->get_id();
1105
 
1107
  $tracking_items = $ast->get_tracking_items( $order_id, true );
1108
  if($tracking_items){
1109
  $shipment_status = get_post_meta( $order_id, "shipment_status", true);
1110
+ foreach ( $tracking_items as $key => $tracking_item ) {
1111
  if( !isset($shipment_status[$key]) ){
1112
  $completed_order_with_tracking++;
1113
  }
1116
  }
1117
 
1118
  if($completed_order_with_tracking > 0){
1119
+ $disable_bulk_sync = false;
1120
+ } else{
1121
+ $disable_bulk_sync = true;
1122
+ }
1123
+
1124
+ $completed_order_with_zero_balance = 0;
1125
+
1126
+ foreach($orders as $order){
1127
+ $order_id = $order->get_id();
1128
+
1129
+ $ast = new WC_Advanced_Shipment_Tracking_Actions;
1130
+ $tracking_items = $ast->get_tracking_items( $order_id, true );
1131
+ if($tracking_items){
1132
+ $shipment_status = get_post_meta( $order_id, "shipment_status", true);
1133
+ foreach ( $tracking_items as $key => $tracking_item ) {
1134
+ if(isset($shipment_status[$key]['status']) && $shipment_status[$key]['status'] == 'TrackShip balance is 0'){
1135
+ $completed_order_with_zero_balance++;
1136
+ }
1137
+ }
1138
+ }
1139
+ }
1140
+
1141
+ if($completed_order_with_zero_balance > 0){
1142
+ $disable_bulk_sync_zero_balance = false;
1143
  } else{
1144
+ $disable_bulk_sync_zero_balance = true;
1145
  }
1146
 
1147
  $wc_ast_status_shipped = get_option('wc_ast_status_shipped');
1148
+
1149
  if($wc_ast_status_shipped == 1){
1150
  $completed_order_label = '<span class="shipped_label">shipped</span>';
1151
  } else{
1152
  $completed_order_label = '<span class="shipped_label">completed</span>';
1153
+ }
1154
+
1155
+ $form_data = array(
1156
+ 'wc_ast_bulk_shipment_status' => array(
1157
+ 'type' => 'button',
1158
+ 'title' => sprintf(__('%s %s orders with tracking info', 'woo-advanced-shipment-tracking'), $completed_order_with_tracking , $completed_order_label),
1159
+ 'label' => __( 'Get Shipment Status', 'woo-advanced-shipment-tracking' ),
1160
+ 'show' => true,
1161
+ 'disable' => $disable_bulk_sync,
1162
+ 'button_class' => 'bulk_shipment_status_button',
1163
+ 'class' => '',
1164
+ ),
1165
+ 'wc_ast_bulk_shipment_status_for_zero_tracker_balace' => array(
1166
+ 'type' => 'button',
1167
+ 'title' => sprintf(__('%s %s orders with “TrackShip balance is 0”', 'woo-advanced-shipment-tracking'), $completed_order_with_zero_balance , $completed_order_label),
1168
+ 'label' => __( 'Get Shipment Status', 'woo-advanced-shipment-tracking' ),
1169
+ 'show' => true,
1170
+ 'disable' => $disable_bulk_sync_zero_balance,
1171
+ 'button_class' => 'bulk_shipment_status_button_for_empty_balance',
1172
+ 'class' => '',
1173
+ ),
1174
+ );
1175
+ return $form_data;
1176
+ }
1177
+
1178
+ /*
1179
+ * get settings tab array data
1180
+ * return array
1181
+ */
1182
+ function get_trackship_general_data(){
1183
+ $wc_ast_api_key = get_option('wc_ast_api_key');
1184
+ $trackers_balance = get_option( 'trackers_balance' );
1185
+ $wc_ast_status_delivered = get_option( 'wc_ast_status_delivered' );
1186
+ if($wc_ast_api_key){
1187
+ $connected = true;
1188
+ $show_trackship_field = true;
1189
+ $show_trackship_description = false;
1190
+ } else{
1191
+ $connected = false;
1192
+ $show_trackship_field = false;
1193
+ $show_trackship_description = true;
1194
+ }
1195
+ if($wc_ast_status_delivered){
1196
+ $disabled_change_to_delivered = false;
1197
+ } else{
1198
+ $disabled_change_to_delivered = true;
1199
+ }
1200
+ $page_list = wp_list_pluck( get_pages(), 'post_title', 'ID' );
1201
+
1202
  $form_data = array(
1203
  'wc_ast_api_enabled' => array(
1204
  'type' => 'checkbox',
1212
  'show' => $show_trackship_field,
1213
  'class' => '',
1214
  'disabled' => $disabled_change_to_delivered,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1215
  ),
1216
  );
1217
  return $form_data;
 
1218
  }
1219
+
1220
  /*
1221
  * get settings tab array data
1222
  * return array
1342
  $mark_as_shipped_label = __( 'Default "mark as <span class="shipped_label">shipped</span>"', 'woo-advanced-shipment-tracking' );
1343
  $mark_as_shipped_tooltip = __( "This means that the 'mark as <span class='shipped_label'>shipped</span>' will be selected by default when adding tracking info to orders.", 'woo-advanced-shipment-tracking' );
1344
  } else{
1345
+ $completed_order_label = __( 'Completed', 'woocommerce' );
1346
  $mark_as_shipped_label = __( 'Default "mark as <span class="shipped_label">completed</span>"', 'woo-advanced-shipment-tracking' );
1347
  $mark_as_shipped_tooltip = __( "This means that the 'mark as <span class='shipped_label'>completed</span>' will be selected by default when adding tracking info to orders.", 'woo-advanced-shipment-tracking' );
1348
  }
1355
  'wc-on-hold' => 'On hold',
1356
  'wc-completed' => 'Completed',
1357
  'wc-delivered' => 'Delivered',
1358
+ //'wc-partial-shipped' => 'Partial Shipped',
1359
  'wc-cancelled' => 'Cancelled',
1360
  'wc-refunded' => 'Refunded',
1361
  'wc-failed' => 'Failed'
1367
  foreach($custom_order_status as $key=>$value){
1368
  unset($custom_order_status[$key]);
1369
  $key = str_replace("wc-", "", $key);
1370
+ $custom_order_status[$key] = array(
1371
+ 'status' => __( $value, '' ),
1372
+ 'type' => 'custom',
1373
+ );
1374
  }
1375
 
1376
  $order_status = array(
1377
+ "cancelled" => array(
1378
+ 'status' => __( 'Cancelled', 'woocommerce' ),
1379
+ 'type' => 'default',
1380
+ ),
1381
+ "show_in_customer_invoice" => array(
1382
+ 'status' => __( 'Customer Invoice', 'woocommerce' ),
1383
+ 'type' => 'default',
1384
+ ),
1385
+ "refunded" => array(
1386
+ 'status' => __( 'Refunded', 'woocommerce' ),
1387
+ 'type' => 'default',
1388
+ ),
1389
+ "processing" => array(
1390
+ 'status' => __( 'Processing', 'woocommerce' ),
1391
+ 'type' => 'default',
1392
+ ),
1393
+ "failed" => array(
1394
+ 'status' => __( 'Failed', 'woocommerce' ),
1395
+ 'type' => 'default',
1396
+ ),
1397
+ "completed" => array(
1398
+ 'status' => $completed_order_label,
1399
+ 'type' => 'default',
1400
+ ),
1401
  );
1402
+ $order_status_array = array_merge($order_status,$custom_order_status);
1403
+
1404
  if ( is_plugin_active( 'woocommerce-pdf-invoices-packing-slips/woocommerce-pdf-invoices-packingslips.php' ) ) {
1405
  $show_invoice_field = true;
1406
  } else{
1467
  'type' => 'dropdown',
1468
  'title' => __( 'Delivered Label font color', 'woo-advanced-shipment-tracking' ),
1469
  'options' => array(
1470
+ "" =>__( 'Select', 'woocommerce' ),
1471
  "#fff" =>__( 'Light', 'woo-advanced-shipment-tracking' ),
1472
  "#000" =>__( 'Dark', 'woo-advanced-shipment-tracking' ),
1473
  ),
1477
  'wcast_enable_delivered_email' => array(
1478
  'type' => 'checkbox',
1479
  'title' => __( 'Enable the Delivered order status email', 'woo-advanced-shipment-tracking' ),
1480
+ 'title_link'=> "<a class='settings_edit' href='".wcast_initialise_customizer_email::get_customizer_url('customer_delivered_email')."'>".__( 'Edit', 'woocommerce' )."</a>",
1481
  'class' => 'status_label_color_th',
1482
  'show' => true,
1483
  ),
1487
  }
1488
 
1489
  /*
1490
+ * get Partial shipped array data
1491
  * return array
1492
  */
1493
+ function get_partial_shipped_data(){
1494
+ $form_data = array(
1495
+ 'wc_ast_status_partial_shipped' => array(
1496
+ 'type' => 'checkbox',
1497
+ 'title' => __( 'Enable custom order status “Partial Shipped"', 'woo-advanced-shipment-tracking' ),
1498
+ 'tooltip' => __( 'if you enable the Partial Shipped item, you will have the option to send Partial Shipped email notifications.', 'woo-advanced-shipment-tracking' ),
1499
+ 'show' => true,
1500
+ 'class' => '',
1501
+ ),
1502
+ 'wc_ast_status_partial_shipped_label_color' => array(
1503
+ 'type' => 'color',
1504
+ 'title' => __( 'Partial Shipped Label color', 'woo-advanced-shipment-tracking' ),
1505
+ 'class' => 'partial_shipped_status_label_color_th',
1506
+ 'show' => true,
1507
+ ),
1508
+ 'wc_ast_status_partial_shipped_label_font_color' => array(
1509
  'type' => 'dropdown',
1510
+ 'title' => __( 'Partial Shipped Label font color', 'woo-advanced-shipment-tracking' ),
1511
  'options' => array(
1512
+ "" =>__( 'Select', 'woocommerce' ),
1513
+ "#fff" =>__( 'Light', 'woo-advanced-shipment-tracking' ),
1514
+ "#000" =>__( 'Dark', 'woo-advanced-shipment-tracking' ),
1515
+ ),
1516
+ 'class' => 'partial_shipped_status_label_color_th',
1517
+ 'show' => true,
1518
+ ),
1519
+ 'wcast_enable_partial_shipped_email' => array(
1520
+ 'type' => 'checkbox',
1521
+ 'title' => __( 'Enable the Partial Shipped order status email', 'woo-advanced-shipment-tracking' ),
1522
+ 'title_link'=> "<a class='settings_edit' href='".wcast_partial_shipped_customizer_email::get_customizer_url('customer_partial_shipped_email')."'>".__( 'Edit', 'woocommerce' )."</a>",
1523
+ 'class' => 'partial_shipped_status_label_color_th',
1524
  'show' => true,
 
1525
  ),
1526
  );
1527
  return $form_data;
1536
 
1537
  $data = $this->get_settings_data();
1538
 
1539
+ foreach( $data as $key => $val ){
1540
+ if(isset($_POST[ $key ])){
1541
+ update_option( $key, $_POST[ $key ] );
1542
+ }
1543
  }
1544
 
1545
  $data = $this->get_delivered_data();
1546
 
1547
  foreach( $data as $key => $val ){
1548
+ if($key == 'wcast_enable_delivered_email'){
1549
+ if(isset($_POST['wcast_enable_delivered_email'])){
1550
+ $wcast_enable_delivered_email = get_option('woocommerce_customer_delivered_order_settings');
1551
+ if($_POST['wcast_enable_delivered_email'] == 1){
1552
+ update_option( 'customizer_delivered_order_settings_enabled',$_POST['wcast_enable_delivered_email']);
1553
+ $enabled = 'yes';
1554
+ } else{
1555
+ update_option( 'customizer_delivered_order_settings_enabled','');
1556
+ $enabled = 'no';
1557
+ }
1558
+ $opt = array(
1559
+ 'enabled' => $enabled,
1560
+ 'subject' => $wcast_enable_delivered_email['subject'],
1561
+ 'heading' => $wcast_enable_delivered_email['heading'],
1562
+ 'recipient' => $wcast_enable_delivered_email['recipient'],
1563
+ 'email_type' => $wcast_enable_delivered_email['email_type'],
1564
+ );
1565
+ update_option( 'woocommerce_customer_delivered_order_settings', $opt );
1566
+ }
1567
+ }
1568
+ if(isset($_POST[ $key ])){
1569
+ update_option( $key, $_POST[ $key ] );
1570
+ }
1571
+ }
1572
+
1573
+ $data = $this->get_partial_shipped_data();
1574
+
1575
+ foreach( $data as $key => $val ){
1576
+ if($key == 'wcast_enable_partial_shipped_email'){
1577
+ if(isset($_POST['wcast_enable_partial_shipped_email'])){
1578
+ $wcast_enable_partial_shipped_email = get_option('woocommerce_customer_partial_shipped_order_settings');
1579
+ if($_POST['wcast_enable_partial_shipped_email'] == 1){
1580
+ update_option( 'customizer_partial_shipped_order_settings_enabled',$_POST['wcast_enable_partial_shipped_email']);
1581
+ $enabled = 'yes';
1582
+ } else{
1583
+ update_option( 'customizer_partial_shipped_order_settings_enabled','');
1584
+ $enabled = 'no';
1585
+ }
1586
+
1587
+ $opt = array(
1588
+ 'enabled' => $enabled,
1589
+ 'subject' => $wcast_enable_partial_shipped_email['subject'],
1590
+ 'heading' => $wcast_enable_partial_shipped_email['heading'],
1591
+ 'email_type' => $wcast_enable_partial_shipped_email['email_type'],
1592
+ );
1593
+ update_option( 'woocommerce_customer_partial_shipped_order_settings', $opt );
1594
+ }
1595
+ }
1596
+ if(isset($_POST[ $key ])){
1597
+ update_option( $key, $_POST[ $key ] );
1598
  }
 
1599
  }
1600
 
1601
  echo json_encode( array('success' => 'true') );die();
1602
 
1603
  }
1604
  }
1605
+
1606
+ /*
1607
+ * change style of delivered order label
1608
+ */
1609
  function footer_function(){
1610
  $bg_color = get_option('wc_ast_status_label_color');
1611
  $color = get_option('wc_ast_status_label_font_color','#fff');
1612
+
1613
+ $ps_bg_color = get_option('wc_ast_status_partial_shipped_label_color');
1614
+ $ps_color = get_option('wc_ast_status_partial_shipped_label_font_color','#fff');
1615
  ?>
1616
  <style>
1617
+ .order_status .order-status.status-delivered{
1618
  background: <?php echo $bg_color; ?>;
1619
  color: <?php echo $color; ?>;
1620
  }
1621
+ <?php if($ps_bg_color){ ?>
1622
+ .order_status .order-status.status-partial-shipped{
1623
+ background: <?php echo $ps_bg_color; ?>;
1624
+ color: <?php echo $ps_color; ?>;
1625
+ }
1626
+ <?php } ?>
1627
  </style>
1628
  <?php
1629
  }
1630
 
1631
+ /*
1632
+ * Ajax call for upload tracking details into order from bulk upload
1633
+ */
1634
+ function upload_tracking_csv_fun(){
1635
 
1636
  $replace_tracking_info = $_POST['replace_tracking_info'];
1637
  $order_id = $_POST['order_id'];
1638
 
1639
+ $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
1640
+ $order_id = $wast->get_formated_order_id($order_id);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1641
 
1642
  $tracking_provider = $_POST['tracking_provider'];
1643
  $tracking_number = $_POST['tracking_number'];
1708
  echo '<li class="error">Failed - Invalid Tracking Data</li>';exit;
1709
  }
1710
  }
1711
+
1712
  /**
1713
  * Check if the value is a valid date
1714
  *
1735
  * Change order status to delivered
1736
  */
1737
  function add_bulk_actions_get_shipment_status($bulk_actions){
1738
+ $bulk_actions['get_shipment_status'] = 'Get Shipment Status';
1739
  return $bulk_actions;
1740
  }
1741
 
1742
+ /*
1743
+ * order bulk action for get shipment status
1744
+ */
1745
  function get_shipment_status_handle_bulk_action_edit_shop_order( $redirect_to, $action, $post_ids ){
1746
 
1747
  if ( $action !== 'get_shipment_status' )
1752
  $order_count = count($post_ids);
1753
 
1754
  if($order_count > 100){
1755
+ //return $redirect_to;
1756
  }
1757
 
1758
  foreach ( $post_ids as $post_id ) {
1769
  ), $redirect_to );
1770
  }
1771
 
1772
+ /*
1773
+ * bulk shipment status action for completed order with tracking details and without shipment status
1774
+ */
1775
  public static function bulk_shipment_status_from_settings_fun(){
1776
  $args = array(
1777
  'status' => 'wc-completed',
1785
  $ast = new WC_Advanced_Shipment_Tracking_Actions;
1786
  $tracking_items = $ast->get_tracking_items( $order_id, true );
1787
  if($tracking_items){
1788
+ $shipment_status = get_post_meta( $order_id, "shipment_status", true);
1789
  foreach ( $tracking_items as $key => $tracking_item ) {
1790
  if( !isset($shipment_status[$key]) ){
1791
  wp_schedule_single_event( time() + 1, 'wcast_retry_trackship_apicall', array( $order_id ) );
1797
  echo $url;die();
1798
  }
1799
 
1800
+ /*
1801
+ * bulk shipment status action for "TrackShip balance is 0" status
1802
+ */
1803
+ public static function bulk_shipment_status_for_empty_balance_from_settings_fun(){
1804
+ $args = array(
1805
+ 'status' => 'wc-completed',
1806
+ 'limit' => -1,
1807
+ 'date_created' => '>' . ( time() - 2592000 ),
1808
+ );
1809
+ $orders = wc_get_orders( $args );
1810
+
1811
+ foreach($orders as $order){
1812
+ $order_id = $order->get_id();
1813
+
1814
+ $ast = new WC_Advanced_Shipment_Tracking_Actions;
1815
+ $tracking_items = $ast->get_tracking_items( $order_id, true );
1816
+ if($tracking_items){
1817
+ $shipment_status = get_post_meta( $order_id, "shipment_status", true);
1818
+ foreach ( $tracking_items as $key => $tracking_item ) {
1819
+ if($shipment_status[$key]['status'] == 'TrackShip balance is 0'){
1820
+ wp_schedule_single_event( time() + 1, 'wcast_retry_trackship_apicall', array( $order_id ) );
1821
+ }
1822
+ }
1823
+ }
1824
+ }
1825
+
1826
+ $url = admin_url('/edit.php?post_type=shop_order');
1827
+ echo $url;die();
1828
+ }
1829
+
1830
  /**
1831
  * Add 'get_shipment_status' link to order actions select box on edit order page
1832
  *
1837
  public function add_order_meta_box_get_shipment_status_actions( $actions ) {
1838
 
1839
  // add download to CSV action
1840
+ $actions['get_shipment_status_edit_order'] = __( 'Get Shipment Status', 'woo-advanced-shipment-tracking' );
1841
  return $actions;
1842
  }
1843
 
1844
+ /*
1845
+ * order details meta box action
1846
+ */
1847
  public function process_order_meta_box_actions_get_shipment_status( $order ){
1848
  $this->trigger_woocommerce_order_status_completed( $order->get_id() );
1849
  }
1850
+
1851
+ /*
1852
+ * The results notice from bulk action on orders
1853
+ */
1854
  function shipment_status_bulk_action_admin_notice() {
1855
  if ( empty( $_REQUEST['get_shipment_status'] ) ) return; // Exit
1856
 
1879
  $status = __( 'Delivered', 'woo-advanced-shipment-tracking' );
1880
  break;
1881
  case "out_for_delivery":
1882
+ $status = __( 'Out For Delivery', 'woo-advanced-shipment-tracking' );
1883
  break;
1884
  case "available_for_pickup":
1885
  $status = __( 'Available For Pickup', 'woo-advanced-shipment-tracking' );
1888
  $status = __( 'Return To Sender', 'woo-advanced-shipment-tracking' );
1889
  break;
1890
  case "failure":
1891
+ $status = __( 'Failed Attempt', 'woo-advanced-shipment-tracking' );
1892
  break;
1893
  case "unknown":
1894
  $status = __( 'Unknown', 'woo-advanced-shipment-tracking' );
1897
  $status = __( 'Pending TrackShip', 'woo-advanced-shipment-tracking' );
1898
  break;
1899
  case "INVALID_TRACKING_NUM":
1900
+ $status = __( 'Invalid Tracking Number', 'woo-advanced-shipment-tracking' );
1901
  break;
1902
  case "carrier_unsupported":
1903
+ $status = __( 'Carrier Unsupported', 'woo-advanced-shipment-tracking' );
1904
  break;
1905
  case "invalid_user_key":
1906
  $status = __( 'Invalid User Key', 'woo-advanced-shipment-tracking' );
1909
  $status = __( 'Wrong Shipping Provider', 'woo-advanced-shipment-tracking' );
1910
  break;
1911
  case "deleted":
1912
+ $status = __( 'Deleted', 'woocommerce' );
1913
  break;
1914
 
1915
  }
1949
  $html = '<span class="icon-'.$status.'">';
1950
  break;
1951
  case "INVALID_TRACKING_NUM":
1952
+ $html = '<span class="icon-'.$status.'">';
1953
  break;
1954
  case "wrong_shipping_provider":
1955
+ $html = '<span class="icon-'.$status.'">';
1956
  break;
1957
  case "invalid_user_key":
1958
  $html = '<span class="icon-'.$status.'">';
1959
  break;
1960
  default:
1961
+ $html = '<span class="icon-default">';
1962
  break;
1963
 
1964
  }
1974
  $logger->info( "Retry trackship api call for Order id : ".$order_id, $context );
1975
  $this->trigger_woocommerce_order_status_completed( $order_id );
1976
  }
1977
+
1978
  /*
1979
  * define the item in the meta box by adding an item to the $actions array
1980
  */
1982
  $actions['resend_delivered_order_notification'] = __( 'Resend delivered order notification', 'woo-advanced-shipment-tracking' );
1983
  return $actions;
1984
  }
1985
+
1986
  /*
1987
  * function call when resend delivered order email notification trigger
1988
  */
1994
  //wc_advanced_shipment_tracking_email_class()->delivered_shippment_status_email_trigger($order_id, $order, $old_status, $new_status);
1995
  WC()->mailer()->emails['WC_Email_Customer_Delivered_Order']->trigger( $order_id, $order );
1996
  }
1997
+
1998
  /*
1999
  * update preview order id in customizer
2000
  */
2009
  set_theme_mod('wcast_preview_order_id', $_POST['wcast_preview_order_id']);
2010
  exit;
2011
  }
2012
+
2013
  /*
2014
  * update delivered order email status
2015
  */
2023
  update_option( 'woocommerce_customer_delivered_order_settings', $opt );
2024
  exit;
2025
  }
2026
+
2027
  /*
2028
  * update all shipment status email status
2029
  */
2031
  set_theme_mod($_POST['id'], $_POST['wcast_enable_status_email']);
2032
  exit;
2033
  }
2034
+
2035
  /*
2036
  * Change completed order email title to Shipped Order
2037
  */
2049
  }
2050
  return $email_title;
2051
  }
2052
+
2053
  /*
2054
  * Add action button in order list to change order status from completed to delivered
2055
  */
2056
  public function add_delivered_order_status_actions_button($actions, $order){
2057
+
2058
+ wp_enqueue_style( 'shipment_tracking_styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/admin.css', array(), wc_advanced_shipment_tracking()->version );
2059
+ wp_enqueue_script( 'woocommerce-advanced-shipment-tracking-js', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/admin.js', array( 'jquery' ), wc_advanced_shipment_tracking()->version);
2060
+
2061
  $wc_ast_status_delivered = get_option('wc_ast_status_delivered');
2062
  if($wc_ast_status_delivered){
2063
  if ( $order->has_status( array( 'completed' ) ) ) {
2078
  );
2079
  return $actions;
2080
  }
2081
+
2082
  /*
2083
  * Add delivered action button in preview order list to change order status from completed to delivered
2084
  */
2109
  return $actions;
2110
  }
2111
 
2112
+ /*
2113
+ * filter shipping providers by stats
2114
+ */
2115
  public function filter_shipiing_provider_by_status_fun(){
2116
  $status = $_POST['status'];
2117
  global $wpdb;
2132
  echo $html;exit;
2133
  }
2134
 
2135
+ /*
2136
+ * Get providers list html
2137
+ */
2138
  public function get_provider_html($default_shippment_providers,$status){
2139
  $WC_Countries = new WC_Countries();
2140
  ?>
2208
  </div>
2209
  <?php
2210
  }
2211
+
2212
  /*
2213
  * Update shipment provider status
2214
  */
2224
  exit;
2225
  }
2226
 
2227
+ /**
2228
+ * update default provider function
2229
+ */
2230
  function update_default_provider_fun(){
2231
  if($_POST['checked'] == 1){
2232
  update_option("wc_ast_default_provider", $_POST['default_provider'] );
2236
  exit;
2237
  }
2238
 
2239
+ /**
2240
+ * Create slug from title
2241
+ */
2242
+ public static function create_slug($text){
2243
+ // replace non letter or digits by -
2244
+ $text = preg_replace('~[^\pL\d]+~u', '-', $text);
2245
+
2246
+ // transliterate
2247
+ $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
2248
+
2249
+ // remove unwanted characters
2250
+ $text = preg_replace('~[^-\w]+~', '', $text);
2251
+
2252
+ // trim
2253
+ $text = trim($text, '-');
2254
+
2255
+ // remove duplicate -
2256
+ $text = preg_replace('~-+~', '-', $text);
2257
+
2258
+ // lowercase
2259
+ $text = strtolower($text);
2260
+
2261
+ if (empty($text)) {
2262
+ return '';
2263
+ }
2264
+
2265
+ return $text;
2266
+ }
2267
+
2268
+ /**
2269
+ * Add custom shipping provider function
2270
+ */
2271
  function add_custom_shipment_provider_fun(){
2272
 
2273
  global $wpdb;
2274
 
2275
  $woo_shippment_table_name = $this->table;
2276
+ $provider_slug = $this->create_slug($_POST['shipping_provider']);
2277
+ if($provider_slug == ''){
2278
+ $provider_slug = sanitize_text_field($_POST['shipping_provider']);
2279
+ }
2280
+
2281
  $data_array = array(
2282
  'shipping_country' => sanitize_text_field($_POST['shipping_country']),
2283
  'provider_name' => sanitize_text_field($_POST['shipping_provider']),
2284
+ 'ts_slug' => $provider_slug,
2285
  'provider_url' => sanitize_text_field($_POST['tracking_url']),
2286
  'custom_thumb_id' => sanitize_text_field($_POST['thumb_id']),
2287
  'display_in_order' => 1,
2288
  'shipping_default' => 0,
2289
  );
2290
+
2291
  $result = $wpdb->insert( $woo_shippment_table_name, $data_array );
2292
 
2293
  $status = 'custom';
2294
+ $default_shippment_providers = $wpdb->get_results( "SELECT * FROM $this->table WHERE shipping_default = 0" );
2295
  $html = $this->get_provider_html($default_shippment_providers,$status);
2296
  echo $html;exit;
2297
  }
2316
  echo $html;exit;
2317
  }
2318
 
2319
+ /**
2320
+ * Get shipping provider details fun
2321
+ */
2322
  public function get_provider_details_fun(){
2323
  $id = $_POST['provider_id'];
2324
  global $wpdb;
2327
  echo json_encode( array('id' => $shippment_provider[0]->id,'provider_name' => $shippment_provider[0]->provider_name,'provider_url' => $shippment_provider[0]->provider_url,'shipping_country' => $shippment_provider[0]->shipping_country,'custom_thumb_id' => $shippment_provider[0]->custom_thumb_id,'image' => $image) );exit;
2328
  }
2329
 
2330
+ /**
2331
+ * Update custom shipping provider and returen html of it
2332
+ */
2333
  public function update_custom_shipment_provider_fun(){
2334
 
2335
  global $wpdb;
2350
  echo $html;exit;
2351
  }
2352
 
2353
+ /**
2354
+ * Update bulk status of providers to active
2355
+ */
2356
  public function update_provider_status_active_fun(){
2357
  global $wpdb;
2358
  $data_array = array(
2368
  exit;
2369
  }
2370
 
2371
+ /**
2372
+ * Update bulk status of providers to inactive
2373
+ */
2374
  public function update_provider_status_inactive_fun(){
2375
  global $wpdb;
2376
  $data_array = array(
2387
  exit;
2388
  }
2389
 
2390
+ /**
2391
+ * Synch provider function
2392
+ */
2393
  public function sync_providers_fun(){
2394
  global $wpdb;
2395
 
2396
  $url = 'https://trackship.info/wp-json/WCAST/v1/Provider';
2397
  $resp = wp_remote_get( $url );
 
2398
 
2399
+ if ( is_array( $resp ) && ! is_wp_error( $resp ) ) {
2400
+ $providers = json_decode($resp['body'],true);
 
 
 
 
 
 
 
2401
 
2402
+ $default_shippment_providers = $wpdb->get_results( "SELECT * FROM $this->table WHERE shipping_default = 1" );
 
 
 
 
 
 
 
2403
 
2404
+ foreach ( $default_shippment_providers as $key => $val ){
2405
+ $shippment_providers[ $val->provider_name ] = $val;
2406
+ }
2407
+
2408
+ foreach ( $providers as $key => $val ){
2409
+ $providers_name[ $val['provider_name'] ] = $val;
2410
+ }
2411
+
2412
+ $added = 0;
2413
+ $updated = 0;
2414
+ $deleted = 0;
2415
+ $added_html = '';
2416
+ $updated_html = '';
2417
+ $deleted_html = '';
2418
 
2419
+ foreach($providers as $provider){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2420
 
2421
+ $provider_name = $provider['shipping_provider'];
2422
+ $provider_url = $provider['provider_url'];
2423
+ $shipping_country = $provider['shipping_country'];
2424
+ $ts_slug = $provider['shipping_provider_slug'];
2425
 
2426
+ if($shippment_providers[$provider_name]){
2427
+ $db_provider_url = $shippment_providers[$provider_name]->provider_url;
2428
+ $db_shipping_country = $shippment_providers[$provider_name]->shipping_country;
2429
+ $db_ts_slug = $shippment_providers[$provider_name]->ts_slug;
2430
+ if(($db_provider_url != $provider_url) || ($db_shipping_country != $shipping_country) || ($db_ts_slug != $ts_slug)){
2431
+ $data_array = array(
2432
+ 'ts_slug' => $ts_slug,
2433
+ 'provider_url' => $provider_url,
2434
+ 'shipping_country' => $shipping_country,
2435
+ );
2436
+ $where_array = array(
2437
+ 'provider_name' => $provider_name,
2438
+ );
2439
+ $wpdb->update( $this->table, $data_array, $where_array);
2440
+ $updated_data[$updated] = array('provider_name' => $provider_name);
2441
+ $updated++;
2442
+ }
2443
+ } else{
2444
+ $img_url = $provider['img_url'];
2445
+
2446
+ $img_slug = sanitize_title($provider_name);
2447
+ $img = wc_advanced_shipment_tracking()->get_plugin_path().'/assets/shipment-provider-img/'.$img_slug.'.png';
2448
+
2449
+ $ch = curl_init();
2450
+
2451
+ curl_setopt($ch, CURLOPT_HEADER, 0);
2452
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
2453
+ curl_setopt($ch, CURLOPT_URL, $img_url);
2454
 
2455
+ $data = curl_exec($ch);
2456
+ curl_close($ch);
2457
+
2458
+ file_put_contents($img, $data);
2459
 
2460
+
2461
+ $data_array = array(
2462
+ 'shipping_country' => sanitize_text_field($shipping_country),
2463
+ 'provider_name' => sanitize_text_field($provider_name),
2464
+ 'ts_slug' => $ts_slug,
2465
+ 'provider_url' => sanitize_text_field($provider_url),
2466
+ 'display_in_order' => 0,
2467
+ 'shipping_default' => 1,
2468
+ );
2469
+ $result = $wpdb->insert( $this->table, $data_array );
2470
+ $added_data[$added] = array('provider_name' => $provider_name);
2471
+ $added++;
2472
+ }
2473
  }
2474
+ foreach($default_shippment_providers as $db_provider){
2475
+ if(!isset($providers_name[$db_provider->provider_name])){
2476
+ $where = array(
2477
+ 'provider_name' => $db_provider->provider_name,
2478
+ 'shipping_default' => 1
2479
+ );
2480
+ $wpdb->delete( $this->table, $where );
2481
+ $deleted_data[$deleted] = array('provider_name' => $db_provider->provider_name);
2482
+ $deleted++;
2483
+ }
2484
  }
2485
+ if($added > 0){
2486
+ ob_start();
2487
+ $added_html = $this->added_html($added_data);
2488
+ $added_html = ob_get_clean();
2489
+ }
2490
+ if($updated > 0){
2491
+ ob_start();
2492
+ $updated_html = $this->updated_html($updated_data);
2493
+ $updated_html = ob_get_clean();
2494
+ }
2495
+ if($deleted > 0){
2496
+ ob_start();
2497
+ $deleted_html = $this->deleted_html($deleted_data);
2498
+ $deleted_html = ob_get_clean();
2499
+ }
2500
+
2501
+ $status = 'active';
2502
+ $default_shippment_providers = $wpdb->get_results( "SELECT * FROM $this->table WHERE display_in_order = 1" );
2503
  ob_start();
2504
+ $html = $this->get_provider_html($default_shippment_providers,$status);
2505
+ $html = ob_get_clean();
2506
+ echo json_encode( array('added' => $added,'added_html' =>$added_html,'updated' => $updated,'updated_html' =>$updated_html,'deleted' => $deleted,'deleted_html' =>$deleted_html,'html' => $html) );exit;
2507
+ } else{
2508
+ echo json_encode( array('sync_error' => 1, 'message' => __( 'There are some issue with sync, Please Retry.', 'woo-advanced-shipment-tracking')) );exit;
2509
+ }
 
 
 
 
2510
  }
2511
 
2512
+ /**
2513
+ * Output html of added provider from sync providers
2514
+ */
2515
  public function added_html($added_data){ ?>
2516
  <ul class="updated_details" id="added_providers">
2517
  <?php
2524
  <a class="view_synch_details" id="hide_added_details" href="javaScript:void(0);" style="display: none;"><?php _e( 'hide details', 'woo-advanced-shipment-tracking'); ?></a>
2525
  <?php }
2526
 
2527
+ /**
2528
+ * Output html of updated provider from sync providers
2529
+ */
2530
  public function updated_html($updated_data){ ?>
2531
  <ul class="updated_details" id="updated_providers">
2532
  <?php
2539
  <a class="view_synch_details" id="hide_updated_details" href="javaScript:void(0);" style="display: none;"><?php _e( 'hide details', 'woo-advanced-shipment-tracking'); ?></a>
2540
  <?php }
2541
 
2542
+ /**
2543
+ * Output html of deleted provider from sync providers
2544
+ */
2545
  public function deleted_html($deleted_data){ ?>
2546
  <ul class="updated_details" id="deleted_providers">
2547
  <?php
2552
  </ul>
2553
  <a class="view_synch_details" id="view_deleted_details" href="javaScript:void(0);" style="display: block;"><?php _e( 'view details', 'woo-advanced-shipment-tracking'); ?></a>
2554
  <a class="view_synch_details" id="hide_deleted_details" href="javaScript:void(0);" style="display: none;"><?php _e( 'hide details', 'woo-advanced-shipment-tracking'); ?></a>
2555
+ <?php }
2556
+
2557
  /**
2558
  * Add bulk filter for Shipment status in orders list
2559
  *
2570
  'unknown' => (object) array( 'count' => $count['unknown'], 'term' => __( 'Unknown', 'woo-advanced-shipment-tracking' ) ),
2571
  'pre_transit' => (object) array( 'count' => $count['pre_transit'],'term' => __( 'Pre Transit', 'woo-advanced-shipment-tracking' ) ),
2572
  'in_transit' => (object) array( 'count' => $count['in_transit'],'term' => __( 'In Transit', 'woo-advanced-shipment-tracking' ) ),
2573
+ 'available_for_pickup' => (object) array( 'count' => $count['available_for_pickup'],'term' => __( 'Available For Pickup', 'woo-advanced-shipment-tracking' ) ),
2574
+ 'out_for_delivery' => (object) array( 'count' => $count['out_for_delivery'],'term' => __( 'Out For Delivery', 'woo-advanced-shipment-tracking' ) ),
2575
  'delivered' => (object) array( 'count' => $count['delivered'],'term' => __( 'Delivered', 'woo-advanced-shipment-tracking' ) ),
2576
  'failed_attempt' => (object) array( 'count' => $count['failed_attempt'],'term' => __( 'Failed Attempt', 'woo-advanced-shipment-tracking' ) ),
2577
+ 'cancelled' => (object) array( 'count' => $count['cancelled'],'term' => __( 'Cancelled', 'woocommerce' ) ),
2578
  'carrier_unsupported' => (object) array( 'count' => $count['carrier_unsupported'],'term' => __( 'Carrier Unsupported', 'woo-advanced-shipment-tracking' ) ),
2579
  'return_to_sender' => (object) array( 'count' => $count['return_to_sender'],'term' => __( 'Return To Sender', 'woo-advanced-shipment-tracking' ) ),
2580
  'INVALID_TRACKING_NUM' => (object) array( 'count' => $count['invalid_tracking_number'],'term' => __( 'Invalid Tracking Number', 'woo-advanced-shipment-tracking' ) ),
2672
  * Add a new dashboard widget.
2673
  */
2674
  public function ast_add_dashboard_widgets() {
2675
+ wp_add_dashboard_widget( 'trackship_dashboard_widget', 'Tracking Analytics <small>(last 30 days)</small>', array( $this, 'dashboard_widget_function') );
2676
  }
2677
  /**
2678
  * Output the contents of the dashboard widget
2679
  */
2680
+ public function dashboard_widget_function( $post, $callback_args ) {
2681
+
2682
+ wp_enqueue_script( 'amcharts');
2683
+ wp_enqueue_script( 'amcharts-light-theme');
2684
+
2685
+ // Get orders completed.
2686
+ $args = array(
2687
+ //'status' => 'wc-completed',
2688
+ 'limit' => -1,
2689
+ 'date_created' => '>' . ( time() - 2592000 ),
2690
+ );
2691
+ $orders = wc_get_orders( $args );
2692
+ $shipment_trackers = 0;
2693
+ $shipment_status_merge = array();
2694
+ $tracking_item_merge = array();
2695
+ foreach($orders as $order){
2696
+ $order_id = $order->get_id();
2697
+
2698
+ $ast = new WC_Advanced_Shipment_Tracking_Actions;
2699
+ $tracking_items = $ast->get_tracking_items( $order_id, true );
2700
+
2701
+ if($tracking_items){
2702
+ $shipment_status = get_post_meta( $order_id, "shipment_status", true);
2703
+ $shipment_status_merge = array_merge($shipment_status_merge, $shipment_status);
2704
+ foreach ( $tracking_items as $key => $tracking_item ) {
2705
+ if( isset($shipment_status[$key]) ){
2706
+
2707
+ $tracking_item_merge[] = $tracking_item;
2708
+ $shipment_trackers++;
2709
+ }
2710
+ }
2711
+ }
2712
+ }
2713
+
2714
+ $shipment_status_arr = array();
2715
+
2716
+ foreach ($shipment_status_merge as $key => $item) {
2717
+ $shipment_status_arr[$item['status']][$key] = $item;
2718
+ }
2719
+
2720
+ $tracking_provider_arr = array();
2721
+
2722
+ foreach ($tracking_item_merge as $key => $item) {
2723
+ $tracking_provider_arr[$item['formatted_tracking_provider']][$key] = $item;
2724
+ }
2725
+
2726
+ $tracking_issue_array = array();
2727
+ foreach($shipment_status_arr as $status => $val){
2728
+ if($status == 'carrier_unsupported' || $status == 'INVALID_TRACKING_NUM' || $status == 'unknown' || $status == 'wrong_shipping_provider'){
2729
+ $tracking_issue_array[$status] = $val;
2730
+ }
2731
+ }
2732
+
2733
+ ksort($shipment_status_arr, SORT_NUMERIC);
2734
+ ksort($tracking_provider_arr, SORT_NUMERIC);
2735
+
2736
+
2737
+
2738
+ ?>
2739
+ <script type="text/javascript">
2740
+ AmCharts.makeChart("ast_dashboard_status_chart",
2741
+ {
2742
+ "type": "serial",
2743
+ "categoryField": "shipment_status",
2744
+ "startDuration": 1,
2745
+ "handDrawScatter": 4,
2746
+ "theme": "light",
2747
+ "categoryAxis": {
2748
+ "autoRotateAngle": 0,
2749
+ "autoRotateCount": 0,
2750
+ "autoWrap": true,
2751
+ "gridPosition": "start",
2752
+ "minHorizontalGap": 10,
2753
+ "offset": 1
2754
+ },
2755
+ "trendLines": [],
2756
+ "graphs": [
2757
+ {
2758
+ "balloonText": " [[shipment_status]] : [[value]]",
2759
+ "bulletBorderThickness": 7,
2760
+ "colorField": "color",
2761
+ "fillAlphas": 1,
2762
+ "id": "AmGraph-1",
2763
+ "lineColorField": "color",
2764
+ "title": "graph 1",
2765
+ "type": "column",
2766
+ "valueField": "count"
2767
+ }
2768
+ ],
2769
+ "guides": [],
2770
+ "valueAxes": [
2771
+ {
2772
+ "id": "ValueAxis-1",
2773
+ "title": ""
2774
+ }
2775
+ ],
2776
+ "allLabels": [],
2777
+ "balloon": {},
2778
+ "titles": [
2779
+ {
2780
+ "id": "Title-1",
2781
+ "size": 15,
2782
+ "text": ""
2783
+ }
2784
+ ],
2785
+ "dataProvider": [
2786
+ <?php
2787
+ foreach($shipment_status_arr as $status => $array){ ?>
2788
+ {
2789
+ "shipment_status": "<?php echo apply_filters("trackship_status_filter",$status); ?>",
2790
+ "count": <?php echo count($array); ?>,
2791
+ "color": "#BBE285",
2792
+ },
2793
+ <?php
2794
+ } ?>
2795
+ ]
2796
+ }
2797
+ );
2798
+ </script>
2799
+ <script type="text/javascript">
2800
+ AmCharts.makeChart("ast_dashboard_providers_chart",
2801
+ {
2802
+ "type": "serial",
2803
+ "categoryField": "shipment_provider",
2804
+ "startDuration": 1,
2805
+ "handDrawScatter": 4,
2806
+ "theme": "light",
2807
+ "categoryAxis": {
2808
+ "autoRotateAngle": 0,
2809
+ "autoRotateCount": 0,
2810
+ "autoWrap": true,
2811
+ "gridPosition": "start",
2812
+ "minHorizontalGap": 10,
2813
+ "offset": 1
2814
+ },
2815
+ "trendLines": [],
2816
+ "graphs": [
2817
+ {
2818
+ "balloonText": " [[shipment_provider]] : [[value]]",
2819
+ "bulletBorderThickness": 7,
2820
+ "colorField": "color",
2821
+ "fillAlphas": 1,
2822
+ "id": "AmGraph-1",
2823
+ "lineColorField": "color",
2824
+ "title": "graph 1",
2825
+ "type": "column",
2826
+ "valueField": "count"
2827
+ }
2828
+ ],
2829
+ "guides": [],
2830
+ "valueAxes": [
2831
+ {
2832
+ "id": "ValueAxis-1",
2833
+ "title": ""
2834
+ }
2835
+ ],
2836
+ "allLabels": [],
2837
+ "balloon": {},
2838
+ "titles": [
2839
+ {
2840
+ "id": "Title-1",
2841
+ "size": 15,
2842
+ "text": ""
2843
+ }
2844
+ ],
2845
+ "dataProvider": [
2846
+ <?php
2847
+ foreach($tracking_provider_arr as $provider => $array){ ?>
2848
+ {
2849
+ "shipment_provider": "<?php echo $provider; ?>",
2850
+ "count": <?php echo count($array); ?>,
2851
+ "color": "#BBE285",
2852
+ },
2853
+ <?php
2854
+ } ?>
2855
+ ]
2856
+ }
2857
+ );
2858
+ </script>
2859
+ <div class="ast-dashborad-widget">
2860
+
2861
+ <input id="tab_s_providers" type="radio" name="tabs" class="widget_tab_input" checked>
2862
+ <label for="tab_s_providers" class="widget_tab_label first_label"><?php _e('Shipment Providers', 'woo-advanced-shipment-tracking'); ?></label>
2863
+
2864
+ <input id="tab_s_status" type="radio" name="tabs" class="widget_tab_input">
2865
+ <label for="tab_s_status" class="widget_tab_label"><?php _e('Shipment Status', 'woo-advanced-shipment-tracking'); ?></label>
2866
+
2867
+ <input id="tab_t_issues" type="radio" name="tabs" class="widget_tab_input">
2868
+ <label for="tab_t_issues" class="widget_tab_label"><?php _e('Tracking issues', 'woo-advanced-shipment-tracking'); ?></label>
2869
+
2870
+ <section id="content_s_providers" class="widget_tab_section">
2871
+ <?php if($tracking_provider_arr){ ?>
2872
+ <div id="ast_dashboard_providers_chart" class="" style="width: 100%;height: 300px;"></div>
2873
+ <?php } else{ ?>
2874
+ <p style="padding: 8px 12px;"><?php _e('data not available.', 'woo-advanced-shipment-tracking'); ?></p>
2875
+ <?php } ?>
2876
+ </section>
2877
+
2878
+ <section id="content_s_status" class="widget_tab_section">
2879
+ <?php if($shipment_status_arr){ ?>
2880
+ <div id="ast_dashboard_status_chart" class="" style="width: 100%;height: 300px;"></div>
2881
+ <?php } else{ ?>
2882
+ <p style="padding: 8px 12px;"><?php _e('data not available.', 'woo-advanced-shipment-tracking'); ?></p>
2883
+ <?php } ?>
2884
+ </section>
2885
+
2886
+ <section id="content_t_issues" class="widget_tab_section">
2887
+ <?php if($tracking_issue_array){ ?>
2888
+ <table class="table widefat fixed striped" style="border: 0;border-bottom: 1px solid #e5e5e5;">
2889
  <tbody>
2890
+ <?php foreach($tracking_issue_array as $status => $array){ ?>
2891
+ <tr>
2892
+ <td><a href="<?php echo get_site_url(); ?>/wp-admin/edit.php?s&post_status=all&post_type=shop_order&_shop_order_shipment_status=<?php echo $status; ?>"><?php echo apply_filters("trackship_status_filter",$status); ?></a></td>
2893
+ <td><?php echo count($array); ?></td>
2894
+ </tr>
2895
+ <?php } ?>
2896
  </tbody>
2897
  </table>
2898
+ <?php } else{ ?>
2899
+ <p style="padding: 8px 12px;"><?php _e('data not available.', 'woo-advanced-shipment-tracking'); ?></p>
2900
+ <?php } ?>
2901
+ </section>
2902
+
2903
+ </div>
2904
+ <div class="widget_footer">
2905
+ <a class="" href="https://my.trackship.info/analytics/" target="blank"><?php _e( 'View more on TrackShip','woo-advanced-shipment-tracking' ); ?></a>
2906
  </div>
2907
  <?php }
2908
+
2909
+ /**
2910
+ * Update Delivered order email enable/disable in customizer
2911
+ */
2912
+ public function save_delivered_email($data){
2913
+ $woocommerce_customer_delivered_order_enabled = (isset($_POST["woocommerce_customer_delivered_order_enabled"])?$_REQUEST["woocommerce_customer_delivered_order_enabled"]:"");
2914
+ update_option( 'customizer_delivered_order_settings_enabled',$woocommerce_customer_delivered_order_enabled);
2915
+ }
2916
+
2917
+ /**
2918
+ * Update Partial Shipped order email enable/disable in customizer
2919
+ */
2920
+ public function save_partial_shipped_email($data){
2921
+ $woocommerce_customer_partial_shipped_order_enabled = (isset($_POST["woocommerce_customer_partial_shipped_order_enabled"])?$_REQUEST["woocommerce_customer_partial_shipped_order_enabled"]:"");
2922
+ update_option( 'customizer_partial_shipped_order_settings_enabled',$woocommerce_customer_partial_shipped_order_enabled);
2923
+ }
2924
  }
includes/class-wc-advanced-shipment-tracking-api-call.php CHANGED
@@ -8,11 +8,17 @@ class WC_Advanced_Shipment_Tracking_Api_Call {
8
 
9
  }
10
 
 
 
 
11
  public function isJson($string) {
12
  json_decode($string);
13
  return (json_last_error() == JSON_ERROR_NONE);
14
  }
15
-
 
 
 
16
  public function get_trackship_apicall( $order_id ){
17
 
18
  $logger = wc_get_logger();
@@ -100,6 +106,9 @@ class WC_Advanced_Shipment_Tracking_Api_Call {
100
  return $array;
101
  }
102
 
 
 
 
103
  public function get_trackship_data( $order, $tracking_number, $tracking_provider ){
104
  $user_key = get_option("wc_ast_api_key");
105
  $domain = get_home_url();
@@ -137,6 +146,9 @@ class WC_Advanced_Shipment_Tracking_Api_Call {
137
  return $response;
138
  }
139
 
 
 
 
140
  public function delete_tracking_number_from_trackship($order_id, $tracking_number, $tracking_provider){
141
  $user_key = get_option("wc_ast_api_key");
142
  $domain = get_site_url();
8
 
9
  }
10
 
11
+ /*
12
+ * check if string is json or not
13
+ */
14
  public function isJson($string) {
15
  json_decode($string);
16
  return (json_last_error() == JSON_ERROR_NONE);
17
  }
18
+
19
+ /*
20
+ * get trackship shipment status and update in order meta
21
+ */
22
  public function get_trackship_apicall( $order_id ){
23
 
24
  $logger = wc_get_logger();
106
  return $array;
107
  }
108
 
109
+ /*
110
+ * get trackship shipment data
111
+ */
112
  public function get_trackship_data( $order, $tracking_number, $tracking_provider ){
113
  $user_key = get_option("wc_ast_api_key");
114
  $domain = get_home_url();
146
  return $response;
147
  }
148
 
149
+ /*
150
+ * delete tracking number from trackship
151
+ */
152
  public function delete_tracking_number_from_trackship($order_id, $tracking_number, $tracking_provider){
153
  $user_key = get_option("wc_ast_api_key");
154
  $domain = get_site_url();
includes/class-wc-advanced-shipment-tracking-front.php CHANGED
@@ -11,6 +11,7 @@ class WC_Advanced_Shipment_Tracking_Front {
11
  * @var object Class Instance
12
  */
13
  private static $instance;
 
14
  /**
15
  * Initialize the main plugin function
16
  */
@@ -33,6 +34,7 @@ class WC_Advanced_Shipment_Tracking_Front {
33
 
34
  $this->init();
35
  }
 
36
  /**
37
  * Get the class instance
38
  *
@@ -46,6 +48,7 @@ class WC_Advanced_Shipment_Tracking_Front {
46
 
47
  return self::$instance;
48
  }
 
49
  /*
50
  * init from parent mail class
51
  */
@@ -58,264 +61,181 @@ class WC_Advanced_Shipment_Tracking_Front {
58
  add_action( 'wp_ajax_get_tracking_info', array( $this, 'get_tracking_info_fun') );
59
 
60
  }
61
-
 
 
 
62
  public function front_styles(){
63
  wp_enqueue_script( 'front-js', wc_advanced_shipment_tracking()->plugin_dir_url().'assets/js/front.js', array( 'jquery' ), wc_advanced_shipment_tracking()->version );
64
  wp_localize_script( 'front-js', 'zorem_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
65
 
66
  wp_enqueue_style( 'front_style', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/front.css', array(), wc_advanced_shipment_tracking()->version );
67
  }
68
- public function woo_track_order_function(){
69
- global $wpdb;
70
- $wc_ast_api_key = get_option('wc_ast_api_key');
71
- $primary_color = get_option('wc_ast_select_primary_color');
72
- $success_color = get_option('wc_ast_select_success_color');
73
- $warning_color = get_option('wc_ast_select_warning_color');
74
- $border_color = get_option('wc_ast_select_border_color');
75
- $hide_tracking_events = get_option('wc_ast_hide_tracking_events');
76
- ?>
77
- <style>
78
 
79
- <?php if($primary_color){ ?>
80
- .bg-secondary{
81
- background-color:<?php echo $primary_color; ?> !important;
82
- }
83
- .tracker-progress-bar-with-dots .secondary .dot {
84
- border-color: <?php echo $primary_color; ?>;
85
- }
86
- .text-secondary{
87
- color: <?php echo $primary_color; ?> !important;
88
- }
89
- .progress-bar.bg-secondary:before{
90
- background-color: <?php echo $primary_color; ?>;
91
- }
92
- .tracking-number{
93
- color: <?php echo $primary_color; ?> !important;
94
- }
95
- .view_table_rows,.hide_table_rows{
96
- color: <?php echo $primary_color; ?> !important;
97
- }
98
- <?php } ?>
99
- <?php if($border_color){ ?>
100
- .col.tracking-detail{
101
- border: 1px solid <?php echo $border_color; ?>;
102
- }
103
- <?php } ?>
104
- </style>
105
- <?php
106
- if(!$wc_ast_api_key){
107
- return;
108
- }
109
- if(isset($_GET['order_id']) && isset($_GET['order_key'])){
110
- $order_id = $_GET['order_id'];
111
- $order = new WC_Order( $order_id );
112
- $order_key = $order->get_order_key();
113
- if($order_key != $_GET['order_key']){
114
- return;
115
- }
116
 
117
- if(!get_post_status( $order_id )){
118
- return;
119
- }
120
- if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
121
- $tracking_items = get_post_meta( $order_id, '_wc_shipment_tracking_items', true );
122
- } else {
123
- $order = new WC_Order( $order_id );
124
- $tracking_items = $order->get_meta( '_wc_shipment_tracking_items', true );
 
 
 
 
 
125
  }
126
- if(!$tracking_items){
127
- unset($order_id);
128
  }
129
-
130
- }
131
-
132
- ?>
133
-
134
- <?php
135
- if(!isset($order_id)){
136
- ob_start();
137
- ?>
138
- <div class="track-order-section">
139
- <form method="post" class="order_track_form">
140
- <p><?php echo apply_filters( 'ast_tracking_page_front_text', __( 'To track your order please enter your Order ID in the box below and press the "Track" button. This was given to you on your receipt and in the confirmation email you should have received.', 'woo-advanced-shipment-tracking' ) ); ?></p>
141
- <p class="form-row form-row-first"><label for="order_id"><?php echo apply_filters( 'ast_tracking_page_front_order_label', __( 'Order ID', 'woo-advanced-shipment-tracking' ) ); ?></label> <input class="input-text" type="text" name="order_id" id="order_id" value="" placeholder="<?php _e( 'Found in your order confirmation email.', 'woo-advanced-shipment-tracking' ); ?>"></p>
142
- <p class="form-row form-row-last"><label for="order_email"><?php echo apply_filters( 'ast_tracking_page_front_order_email_label', __( 'Order Email', 'woo-advanced-shipment-tracking' ) ); ?></label> <input class="input-text" type="text" name="order_email" id="order_email" value="" placeholder="<?php _e( 'Found in your order confirmation email.', 'woo-advanced-shipment-tracking' ); ?>"></p>
143
- <div class="clear"></div>
144
- <input type="hidden" name="action" value="get_tracking_info">
145
- <p class="form-row"><button type="submit" class="button" name="track" value="Track"><?php echo apply_filters( 'ast_tracking_page_front_track_label', __( 'Track', 'woo-advanced-shipment-tracking' ) ); ?></button></p>
146
- <div class="track_fail_msg" style="display:none;color: red;"></div>
147
- </form>
148
- </div>
149
- <?php
150
- $form = ob_get_clean();
151
- return $form;
152
- } else{
153
- ob_start();
154
- if ( is_plugin_active( 'custom-order-numbers-for-woocommerce/custom-order-numbers-for-woocommerce.php' ) ) {
155
- $alg_wc_custom_order_numbers_enabled = get_option('alg_wc_custom_order_numbers_enabled');
156
- if($alg_wc_custom_order_numbers_enabled == 'yes'){
157
- $args = array(
158
- 'post_type' => 'shop_order',
159
- 'posts_per_page' => '1',
160
- 'meta_query' => array(
161
- 'relation' => 'AND',
162
- array(
163
- 'key' => '_alg_wc_custom_order_number',
164
- 'value' => $order_id
165
- ),
166
- ),
167
- 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
168
- );
169
- $posts = get_posts( $args );
170
- $my_query = new WP_Query( $args );
171
-
172
- if( $my_query->have_posts() ) {
173
- while( $my_query->have_posts()) {
174
- $my_query->the_post();
175
- if(get_the_ID()){
176
- $order_id = get_the_ID();
177
- }
178
- } // end while
179
- } // end if
180
- wp_reset_postdata();
181
- }
182
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
 
184
- if ( is_plugin_active( 'woocommerce-sequential-order-numbers/woocommerce-sequential-order-numbers.php' ) ) {
185
-
186
- $s_order_id = wc_sequential_order_numbers()->find_order_by_order_number( $order_id );
187
- if($s_order_id){
188
- $order_id = $s_order_id;
 
 
 
 
 
 
 
189
  }
190
- }
191
 
192
- if ( is_plugin_active( 'wp-lister-amazon/wp-lister-amazon.php' ) ) {
193
- $wpla_use_amazon_order_number = get_option( 'wpla_use_amazon_order_number' );
194
- if($wpla_use_amazon_order_number == 1){
195
- $args = array(
196
- 'post_type' => 'shop_order',
197
- 'posts_per_page' => '1',
198
- 'meta_query' => array(
199
- 'relation' => 'AND',
200
- array(
201
- 'key' => '_wpla_amazon_order_id',
202
- 'value' => $order_id
203
- ),
204
- ),
205
- 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
206
- );
207
- $posts = get_posts( $args );
208
- $my_query = new WP_Query( $args );
209
-
210
- if( $my_query->have_posts() ) {
211
- while( $my_query->have_posts()) {
212
- $my_query->the_post();
213
- if(get_the_ID()){
214
- $order_id = get_the_ID();
215
- }
216
- } // end while
217
- } // end if
218
- wp_reset_postdata();
219
  }
220
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
221
 
222
- if ( is_plugin_active( 'wp-lister/wp-lister.php' ) ) {
223
- $args = array(
224
- 'post_type' => 'shop_order',
225
- 'posts_per_page' => '1',
226
- 'meta_query' => array(
227
- 'relation' => 'AND',
228
- array(
229
- 'key' => '_ebay_extended_order_id',
230
- 'value' => $order_id
231
- ),
232
- ),
233
- 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
234
- );
235
- $posts = get_posts( $args );
236
- $my_query = new WP_Query( $args );
237
 
238
- if( $my_query->have_posts() ) {
239
- while( $my_query->have_posts()) {
240
- $my_query->the_post();
241
- if(get_the_ID()){
242
- $order_id = get_the_ID();
243
- }
244
- } // end while
245
- } // end if
246
- wp_reset_postdata();
247
- }
248
 
249
- $num = 1;
250
- $total_trackings = sizeof($tracking_items);
251
 
252
  foreach($tracking_items as $item){
253
 
254
- $tracking_number = $item['tracking_number'];
255
- $trackship_url = 'https://trackship.info';
256
- $tracking_provider = $item['tracking_provider'];
257
- $results = $wpdb->get_row( "SELECT * FROM {$this->table} WHERE ts_slug= '{$tracking_provider}'");
258
- $tracking_provider = $results->provider_name;
259
-
260
- /*** Update in 2.4.1
261
- * Change URL
262
- * Add User Key
263
- ***/
264
- $url = $trackship_url.'/wp-json/tracking/get_tracking_info';
265
- $args['body'] = array(
266
- 'tracking_number' => $tracking_number,
267
- 'order_id' => $order_id,
268
- 'domain' => get_home_url(),
269
- 'user_key' => $wc_ast_api_key,
270
- );
271
- $response = wp_remote_post( $url, $args );
272
- $data = $response['body'];
273
- $decoded_data = json_decode($data);
274
-
275
- $tracker = new \stdClass();
276
- $tracker->ep_status = '';
277
- if(!empty($decoded_data)){
278
- $tracker = $decoded_data[0];
279
- }
280
-
281
- $tracking_detail_org = '';
282
- $trackind_detail_by_status_rev = '';
283
-
284
- if(isset($tracker->tracking_detail) && $tracker->tracking_detail != 'null'){
285
- $tracking_detail_org = json_decode($tracker->tracking_detail);
286
- $trackind_detail_by_status_rev = array_reverse($tracking_detail_org);
287
- }
288
 
289
  if(!empty($decoded_data)){
290
 
291
- if($tracker->est_delivery_date){
292
- $unixTimestamp = strtotime($tracker->est_delivery_date);
293
- $day = date("l", $unixTimestamp);
294
- }
295
 
296
- if($tracker->ep_status == "unknown"){ $state0_class = 'unknown'; } else{ $state0_class = 'pre_transit'; }
297
- if($tracker->ep_status == "return_to_sender" ){
298
- $state2_class = 'return_to_sender';
299
- } elseif($tracker->ep_status == "failure"){
300
- $state2_class = 'failure';
301
- } elseif($tracker->ep_status == "available_for_pickup"){
302
- $state2_class = 'available_for_pickup';
303
- } else{
304
- $state2_class = 'out_for_delivery';
305
- }
306
-
307
-
308
- ?>
309
 
310
- <div class="tracking-detail col">
311
  <?php if($total_trackings > 1 ){ ?>
312
  <p class="shipment_heading"><?php
313
  echo sprintf(__("Shipment - %s (out of %s)", 'woo-advanced-shipment-tracking'), $num , $total_trackings); ?></p>
314
  <?php } ?>
315
  <div class="tracking-header">
316
  <div class="col-md col-md-6">
317
- <?php _e( 'Order: ', 'woo-advanced-shipment-tracking' ); ?><span class="tracking-number">#<?php echo apply_filters( 'ast_order_number_filter', $order_id); ?></span><br/>
318
- <?php echo $tracking_provider; ?>: <span class="tracking-number"><?php echo $tracker->tracking_code; ?></span>
319
  <h1 class="shipment_status_heading <?php if($tracker->ep_status == "delivered") { echo 'text-success'; } elseif($tracker->ep_status == "return_to_sender" || $tracker->ep_status == "failure") { echo 'text-success'; } else{ echo 'text-secondary'; } ?>"><?php echo apply_filters("trackship_status_filter",$tracker->ep_status);?></h1>
320
  </div>
321
  <div class="col-md col-md-6">
@@ -333,7 +253,7 @@ class WC_Advanced_Shipment_Tracking_Front {
333
  </div>
334
  </div>
335
  <?php
336
- if($tracker->ep_status == 'pending_trackship' || $tracker->ep_status == 'INVALID_TRACKING_NUM' || $tracker->ep_status == 'carrier_unsupported' || $tracker->ep_status == 'invalid_user_key' || $tracker->ep_status == 'wrong_shipping_provider' || $tracker->ep_status == 'deleted'){
337
 
338
  }
339
  elseif(isset($tracker->ep_status)){ ?>
@@ -434,251 +354,165 @@ class WC_Advanced_Shipment_Tracking_Front {
434
  </div>
435
  <?php } ?>
436
  <?php if( !empty($trackind_detail_by_status_rev) && $hide_tracking_events != 1 ){ ?>
437
- <div class="shipment_progress_div">
438
- <div class="shipment_progress_heading_div">
439
- <h4 class="tracking-number h4-heading" style=""><?php _e( 'Tracking Details', 'woo-advanced-shipment-tracking' ); ?></h4>
440
- </div>
441
- <table class="tracking-table">
442
- <tbody>
443
- <?php
444
- $i=0;
445
- foreach($trackind_detail_by_status_rev as $key=>$status_detail){ ?>
446
- <tr>
447
- <td><?php echo date_i18n( get_option( 'date_format' ), strtotime($status_detail->datetime) ); ?>
448
- <?php echo date_i18n( get_option( 'time_format' ), strtotime($status_detail->datetime) ); ?></td>
449
- <td><?php echo apply_filters("trackship_status_filter",$status_detail->status);?></td>
450
- <td><?php echo $status_detail->message; ?></td>
451
- </tr>
452
- <?php }
453
- ?>
454
- </tbody>
455
- </table>
456
- <?php if(count($trackind_detail_by_status_rev) > 2){ ?>
457
-
458
- <a class="view_table_rows" href="javaScript:void(0);"><?php _e( 'view more', 'woo-advanced-shipment-tracking' ); ?></a>
459
- <a class="hide_table_rows" href="javaScript:void(0);"><?php _e( 'view less', 'woo-advanced-shipment-tracking' ); ?></a>
460
- <?php } ?>
461
- </div>
462
  <?php } ?>
463
- </div>
464
  <?php } else{ ?>
465
  <div class="tracking-detail col">
466
  <h1 class="shipment_status_heading text-secondary text-center"><?php _e( 'Tracking&nbsp;#&nbsp;'.$tracking_number, 'woo-advanced-shipment-tracking' ); ?></h1>
467
- <h3 class="text-center"><?php _e( 'Invalid Tracking Number', 'woo-advanced-shipment-tracking' ); ?></h3>
468
  </div>
469
  <?php }
470
  $num++;
471
  }
 
472
  $remove_trackship_branding = get_option('wc_ast_remove_trackship_branding');
 
473
  if($remove_trackship_branding != 1){ ?>
474
  <div class="trackship_branding">
475
  <p>Shipment Tracking info by <a href="https://trackship.info" title="TrackShip" target="blank">TrackShip</a></p>
476
  </div>
477
- <?php } ?>
478
- <?php
479
  $form = ob_get_clean();
480
- return $form;
481
- } }
 
482
 
483
  public function get_tracking_info_fun(){
 
484
  global $wpdb;
485
  $wc_ast_api_key = get_option('wc_ast_api_key');
486
  $hide_tracking_events = get_option('wc_ast_hide_tracking_events');
 
487
  if(!$wc_ast_api_key){
488
  return;
489
  }
490
- $order_id = $_POST['order_id'];
491
 
 
492
  $email = $_POST['order_email'];
493
- if ( is_plugin_active( 'custom-order-numbers-for-woocommerce/custom-order-numbers-for-woocommerce.php' ) ) {
494
- $alg_wc_custom_order_numbers_enabled = get_option('alg_wc_custom_order_numbers_enabled');
495
- if($alg_wc_custom_order_numbers_enabled == 'yes'){
496
- $args = array(
497
- 'post_type' => 'shop_order',
498
- 'posts_per_page' => '1',
499
- 'meta_query' => array(
500
- 'relation' => 'AND',
501
- array(
502
- 'key' => '_alg_wc_custom_order_number',
503
- 'value' => $order_id
504
- ),
505
- ),
506
- 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
507
- );
508
- $posts = get_posts( $args );
509
- $my_query = new WP_Query( $args );
510
-
511
- if( $my_query->have_posts() ) {
512
- while( $my_query->have_posts()) {
513
- $my_query->the_post();
514
- if(get_the_ID()){
515
- $order_id = get_the_ID();
516
- }
517
- } // end while
518
- } // end if
519
- wp_reset_postdata();
520
- }
521
- }
522
 
523
- if ( is_plugin_active( 'woocommerce-sequential-order-numbers/woocommerce-sequential-order-numbers.php' ) ) {
524
-
525
- $s_order_id = wc_sequential_order_numbers()->find_order_by_order_number( $order_id );
526
- if($s_order_id){
527
- $order_id = $s_order_id;
528
- }
529
- }
530
 
531
- if ( is_plugin_active( 'wp-lister-amazon/wp-lister-amazon.php' ) ) {
532
- $wpla_use_amazon_order_number = get_option( 'wpla_use_amazon_order_number' );
533
- if($wpla_use_amazon_order_number == 1){
534
- $args = array(
535
- 'post_type' => 'shop_order',
536
- 'posts_per_page' => '1',
537
- 'meta_query' => array(
538
- 'relation' => 'AND',
539
- array(
540
- 'key' => '_wpla_amazon_order_id',
541
- 'value' => $order_id
542
- ),
543
- ),
544
- 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
545
- );
546
- $posts = get_posts( $args );
547
- $my_query = new WP_Query( $args );
548
-
549
- if( $my_query->have_posts() ) {
550
- while( $my_query->have_posts()) {
551
- $my_query->the_post();
552
- if(get_the_ID()){
553
- $order_id = get_the_ID();
554
- }
555
- } // end while
556
- } // end if
557
- wp_reset_postdata();
558
- }
559
- }
560
 
561
- if ( is_plugin_active( 'wp-lister/wp-lister.php' ) || is_plugin_active( 'wp-lister-for-ebay/wp-lister.php' )) {
562
-
563
- $args = array(
564
- 'post_type' => 'shop_order',
565
- 'posts_per_page' => '1',
566
- 'meta_query' => array(
567
- 'relation' => 'AND',
568
- array(
569
- 'key' => '_ebay_extended_order_id',
570
- 'value' => $order_id
571
- ),
572
- ),
573
- 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
574
- );
575
- $posts = get_posts( $args );
576
-
577
- $my_query = new WP_Query( $args );
578
-
579
- if( $my_query->have_posts() ) {
580
- while( $my_query->have_posts()) {
581
- $my_query->the_post();
582
- if(get_the_ID()){
583
- $order_id = get_the_ID();
584
- }
585
- } // end while
586
- } // end if
587
- wp_reset_postdata();
588
- }
589
-
590
- if(!get_post_status( $order_id )){
591
  echo '';
592
  exit;
593
  }
594
- $order = new WC_Order( $order_id );
595
  $order_email = $order->get_billing_email();
596
- if($order_email != $email){
 
597
  echo '';
598
  exit;
599
  }
 
600
  if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
601
- $tracking_items = get_post_meta( $order_id, '_wc_shipment_tracking_items', true );
602
- $order_key = get_post_meta( $order_id, 'order_key', true );
603
- } else {
604
- $order = new WC_Order( $order_id );
605
- $tracking_items = $order->get_meta( '_wc_shipment_tracking_items', true );
606
- $order_key = $order->order_key;
607
  }
 
608
  if(!$tracking_items){
609
  echo 'tracking_items_not_found';
610
  exit;
611
  }
612
- ?>
613
 
614
- <?php
615
  $num = 1;
616
  $total_trackings = sizeof($tracking_items);
617
- foreach($tracking_items as $item){
618
- $tracking_number = $item['tracking_number'];
619
- $trackship_url = 'https://trackship.info';
620
- $tracking_provider = $item['tracking_provider'];
621
- $results = $wpdb->get_row( "SELECT * FROM {$this->table} WHERE ts_slug= '{$tracking_provider}'");
622
- $tracking_provider = $results->provider_name;
623
- /*** Update in 2.4.1
624
- * Change URL
625
- * Add User Key
626
- ***/
627
- $url = $trackship_url.'/wp-json/tracking/get_tracking_info';
628
- $args['body'] = array(
629
- 'tracking_number' => $tracking_number,
630
- 'order_id' => $order_id,
631
- 'domain' => get_home_url(),
632
- 'user_key' => $wc_ast_api_key,
633
- );
634
-
635
- $response = wp_remote_post( $url, $args );
636
-
637
- $data = $response['body'];
638
- $decoded_data = json_decode($data);
639
-
640
- $tracker->ep_status = '';
641
 
642
- $tracker = $decoded_data[0];
643
-
644
- $tracking_detail_org = '';
645
- $trackind_detail_by_status_rev = '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
646
 
647
- if(!$tracker){
648
- header("Status: 404 Not Found");
649
- exit;
650
- }
651
 
652
- $tracking_detail_org = '';
653
- if($tracker->tracking_detail != 'null'){
654
- $tracking_detail_org = json_decode($tracker->tracking_detail);
655
- $trackind_detail_by_status_rev = array_reverse($tracking_detail_org);
656
- }
 
 
 
 
 
 
 
 
 
 
 
 
657
 
658
- if($tracker->ep_status == "unknown"){ $state0_class = 'unknown'; } else{ $state0_class = 'pre_transit'; }
659
- if($tracker->ep_status == "return_to_sender" ){
660
- $state2_class = 'return_to_sender';
661
- } elseif($tracker->ep_status == "failure"){
662
- $state2_class = 'failure';
663
- } elseif($tracker->ep_status == "available_for_pickup"){
664
- $state2_class = 'available_for_pickup';
665
- } else{
666
- $state2_class = 'out_for_delivery';
667
- }
668
- $unixTimestamp = strtotime($decoded_data[0]->est_delivery_date);
669
- //Get the day of the week using PHP's date function.
670
- $day = date("l", $unixTimestamp);
671
- if($decoded_data){
672
- ?>
673
- <div class="tracking-detail col">
674
  <?php if($total_trackings > 1 ){ ?>
675
  <p class="shipment_heading"><?php
676
  echo sprintf(__("Shipment - %s (out of %s)", 'woo-advanced-shipment-tracking'), $num , $total_trackings); ?></p>
677
  <?php } ?>
678
  <div class="tracking-header">
679
  <div class="col-md col-md-6">
680
- <?php _e( 'Order: ', 'woo-advanced-shipment-tracking' ); ?><span class="tracking-number">#<?php echo apply_filters( 'ast_order_number_filter', $order_id); ?></span><br/>
681
- <?php echo $tracking_provider; ?>: <span class="tracking-number"><?php echo $tracker->tracking_code; ?></span>
682
  <h1 class="shipment_status_heading <?php if($tracker->ep_status == "delivered") { echo 'text-success'; } elseif($tracker->ep_status == "return_to_sender" || $tracker->ep_status == "failure") { echo 'text-success'; } else{ echo 'text-secondary'; } ?>"><?php echo apply_filters("trackship_status_filter",$tracker->ep_status);?></h1>
683
  </div>
684
  <div class="col-md col-md-6">
@@ -696,7 +530,10 @@ class WC_Advanced_Shipment_Tracking_Front {
696
  </div>
697
  </div>
698
  <?php
699
- if(isset($tracker->ep_status)){ ?>
 
 
 
700
  <div class="status-section desktop-section">
701
  <div class="tracker-progress-bar tracker-progress-bar-with-dots">
702
  <div class="progress">
@@ -791,59 +628,62 @@ class WC_Advanced_Shipment_Tracking_Front {
791
 
792
  </div>
793
  </div>
794
- </div>
795
- <?php } ?>
796
- <?php if( !empty($trackind_detail_by_status_rev) && $hide_tracking_events != 1 ){ ?>
797
- <div class="shipment_progress_div">
798
- <div class="shipment_progress_heading_div">
799
- <h4 class="tracking-number h4-heading" style=""><?php _e( 'Tracking Details', 'woo-advanced-shipment-tracking' ); ?></h4>
800
- </div>
801
- <table class="tracking-table">
802
- <tbody>
803
- <?php
804
- $i=0;
805
- foreach($trackind_detail_by_status_rev as $key=>$status_detail){ ?>
806
- <tr>
807
- <td><?php echo date_i18n( get_option( 'date_format' ), strtotime($status_detail->datetime) ); ?>
808
- <?php echo date_i18n( get_option( 'time_format' ), strtotime($status_detail->datetime) ); ?></td>
809
- <td><?php echo apply_filters("trackship_status_filter",$status_detail->status);?></td>
810
- <td><?php echo $status_detail->message; ?></td>
811
- </tr>
812
- <?php }
813
- ?>
814
- </tbody>
815
- </table>
816
- <?php if(count($trackind_detail_by_status_rev) > 2){ ?>
817
-
818
- <a class="view_table_rows" href="javaScript:void(0);"><?php _e( 'view more', 'woo-advanced-shipment-tracking' ); ?></a>
819
- <a class="hide_table_rows" href="javaScript:void(0);"><?php _e( 'view less', 'woo-advanced-shipment-tracking' ); ?></a>
820
- <?php } ?>
821
- </div>
822
  <?php } ?>
823
- </div>
824
- <?php } else{ ?>
825
  <div class="tracking-detail col">
826
  <h1 class="shipment_status_heading text-secondary text-center"><?php _e( 'Tracking&nbsp;#&nbsp;'.$tracking_number, 'woo-advanced-shipment-tracking' ); ?></h1>
827
- <h3 class="text-center"><?php _e( 'Invalid Tracking Number', 'woo-advanced-shipment-tracking' ); ?></h3>
828
  </div>
829
- <?php
830
- //header("Status: 302 Not Found");
831
- //exit;
832
- }
833
- $num++;
834
- } ?>
835
- <?php
836
  $remove_trackship_branding = get_option('wc_ast_remove_trackship_branding');
837
- if($remove_trackship_branding != 1){
838
- ?>
 
839
  <div class="trackship_branding">
840
  <p>Shipment Tracking info by <a href="https://trackship.info" title="TrackShip" target="blank">TrackShip</a></p>
841
  </div>
842
- <?php } ?>
843
-
844
- <?php exit; }
 
 
845
 
846
- function convertString ($date)
 
 
 
847
  {
848
  // convert date and time to seconds
849
  $sec = strtotime($date);
@@ -851,58 +691,60 @@ class WC_Advanced_Shipment_Tracking_Front {
851
  // convert seconds into a specific format
852
  $date = date("m/d/Y H:i", $sec);
853
 
854
- // append seconds to the date and time
855
- //$date = $date . ":00";
856
-
857
  // print final date and time
858
  return $date;
859
  }
860
 
861
- function preview_tracking_page(){
 
 
 
862
  get_header();
863
 
864
- $wc_ast_api_key = get_option('wc_ast_api_key');
865
- $primary_color = get_option('wc_ast_select_primary_color');
866
- $border_color = get_option('wc_ast_select_border_color');
867
- $hide_tracking_events = get_option('wc_ast_hide_tracking_events');
868
- ?>
869
- <style>
870
- <?php if($primary_color){ ?>
871
- .bg-secondary{
872
- background-color:<?php echo $primary_color; ?> !important;
873
- }
874
- .tracker-progress-bar-with-dots .secondary .dot {
875
- border-color: <?php echo $primary_color; ?>;
876
- }
877
- .text-secondary{
878
- color: <?php echo $primary_color; ?> !important;
879
- }
880
- .progress-bar.bg-secondary:before{
881
- background-color: <?php echo $primary_color; ?>;
882
- }
883
- .tracking-number{
884
- color: <?php echo $primary_color; ?> !important;
885
- }
886
- .view_table_rows,.hide_table_rows{
887
- color: <?php echo $primary_color; ?> !important;
888
- }
889
- <?php } ?>
890
- <?php if($border_color){ ?>
891
- .col.tracking-detail{
892
- border: 1px solid <?php echo $border_color; ?>;
893
- }
894
- <?php } ?>
895
- </style>
 
 
896
  <div class="tracking-detail col">
897
  <div class="tracking-header">
898
  <div class="col-md col-md-6">
899
- Order: <span class="tracking-number">#4542</span><br>
900
  USPS: <span class="tracking-number">9405511899561468285343</span>
901
  <h1 class="shipment_status_heading text-success">Delivered</h1>
902
  </div>
903
  <div class="col-md col-md-6">
904
  <div class="text-muted text-right">
905
- Estimated Delivery Date: <span class="tracking-number">Friday, Jun 28</span>
906
  </div>
907
  </div>
908
  </div>
@@ -962,42 +804,48 @@ class WC_Advanced_Shipment_Tracking_Front {
962
  </div>
963
  </div>
964
  </div>
965
- <?php if($hide_tracking_events != 1){ ?>
966
- <div class="shipment_progress_div">
967
- <div class="shipment_progress_heading_div">
968
- <h4 class="tracking-number h4-heading">Tracking Details</h4>
969
- </div>
970
- <table class="tracking-table">
971
- <tbody>
972
- <tr>
973
- <td>June 28, 2019 1:46 pm</td>
974
- <td>Delivered</td>
975
- <td>Delivered, Garage or Other Location at Address</td>
976
- </tr>
977
- <tr>
978
- <td>June 28, 2019 8:31 am</td>
979
- <td>Out for delivery</td>
980
- <td>Out for Delivery</td>
981
- </tr>
982
- <tr style="display: none;">
983
- <td>June 28, 2019 8:21 am</td>
984
- <td>In Transit</td>
985
- <td>Sorting Complete</td>
986
- </tr>
987
- </tbody>
988
- </table>
989
- <a class="view_table_rows" href="javaScript:void(0);" style="display: inline;">view more</a>
990
- <a class="hide_table_rows" href="javaScript:void(0);" style="display: none;">view less</a>
991
  </div>
992
- <?php } ?>
993
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
994
  <?php
 
995
  $remove_trackship_branding = get_option('wc_ast_remove_trackship_branding');
 
996
  if($remove_trackship_branding != 1){ ?>
997
  <div class="trackship_branding">
998
  <p>Shipment Tracking info by <a href="https://trackship.info" title="TrackShip" target="blank">TrackShip</a></p>
999
  </div>
1000
- <?php }
1001
  get_footer();
1002
  exit;
1003
  }
11
  * @var object Class Instance
12
  */
13
  private static $instance;
14
+
15
  /**
16
  * Initialize the main plugin function
17
  */
34
 
35
  $this->init();
36
  }
37
+
38
  /**
39
  * Get the class instance
40
  *
48
 
49
  return self::$instance;
50
  }
51
+
52
  /*
53
  * init from parent mail class
54
  */
61
  add_action( 'wp_ajax_get_tracking_info', array( $this, 'get_tracking_info_fun') );
62
 
63
  }
64
+
65
+ /**
66
+ * Include front js and css
67
+ */
68
  public function front_styles(){
69
  wp_enqueue_script( 'front-js', wc_advanced_shipment_tracking()->plugin_dir_url().'assets/js/front.js', array( 'jquery' ), wc_advanced_shipment_tracking()->version );
70
  wp_localize_script( 'front-js', 'zorem_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
71
 
72
  wp_enqueue_style( 'front_style', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/front.css', array(), wc_advanced_shipment_tracking()->version );
73
  }
 
 
 
 
 
 
 
 
 
 
74
 
75
+ public function woo_track_order_function(){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
 
77
+ global $wpdb;
78
+ $wc_ast_api_key = get_option('wc_ast_api_key');
79
+ $primary_color = get_option('wc_ast_select_primary_color');
80
+ $success_color = get_option('wc_ast_select_success_color');
81
+ $warning_color = get_option('wc_ast_select_warning_color');
82
+ $border_color = get_option('wc_ast_select_border_color');
83
+ $hide_tracking_events = get_option('wc_ast_hide_tracking_events');
84
+ ?>
85
+ <style>
86
+
87
+ <?php if($primary_color){ ?>
88
+ .bg-secondary{
89
+ background-color:<?php echo $primary_color; ?> !important;
90
  }
91
+ .tracker-progress-bar-with-dots .secondary .dot {
92
+ border-color: <?php echo $primary_color; ?>;
93
  }
94
+ .text-secondary{
95
+ color: <?php echo $primary_color; ?> !important;
96
+ }
97
+ .progress-bar.bg-secondary:before{
98
+ background-color: <?php echo $primary_color; ?>;
99
+ }
100
+ .tracking-number{
101
+ color: <?php echo $primary_color; ?> !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
  }
103
+ .view_table_rows,.hide_table_rows{
104
+ color: <?php echo $primary_color; ?> !important;
105
+ }
106
+ <?php } ?>
107
+ <?php if($border_color){ ?>
108
+ .col.tracking-detail{
109
+ border: 1px solid <?php echo $border_color; ?>;
110
+ }
111
+ <?php } ?>
112
+ </style>
113
+ <?php
114
+ if(!$wc_ast_api_key){
115
+ return;
116
+ }
117
+ if(isset($_GET['order_id']) && isset($_GET['order_key'])){
118
+
119
+ $order_id = $_GET['order_id'];
120
+ $order = wc_get_order( $order_id );
121
+ $order_key = $order->get_order_key();
122
 
123
+ if($order_key != $_GET['order_key']){
124
+ return;
125
+ }
126
+
127
+ if(empty($order)){
128
+ return;
129
+ }
130
+
131
+ if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
132
+ $tracking_items = get_post_meta( $order_id, '_wc_shipment_tracking_items', true );
133
+ } else {
134
+ $tracking_items = $order->get_meta( '_wc_shipment_tracking_items', true );
135
  }
 
136
 
137
+ if(!$tracking_items){
138
+ unset($order_id);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  }
140
  }
141
+
142
+ ?>
143
+
144
+ <?php
145
+ if(!isset($order_id)){
146
+ ob_start();
147
+ ?>
148
+ <div class="track-order-section">
149
+ <form method="post" class="order_track_form">
150
+ <p><?php echo apply_filters( 'ast_tracking_page_front_text', __( 'To track your order please enter your Order ID in the box below and press the "Track" button. This was given to you on your receipt and in the confirmation email you should have received.', 'woo-advanced-shipment-tracking' ) ); ?></p>
151
+ <p class="form-row form-row-first"><label for="order_id"><?php echo apply_filters( 'ast_tracking_page_front_order_label', __( 'Order ID', 'woocommerce' ) ); ?></label> <input class="input-text" type="text" name="order_id" id="order_id" value="" placeholder="<?php _e( 'Found in your order confirmation email.', 'woo-advanced-shipment-tracking' ); ?>"></p>
152
+ <p class="form-row form-row-last"><label for="order_email"><?php echo apply_filters( 'ast_tracking_page_front_order_email_label', __( 'Order Email', 'woo-advanced-shipment-tracking' ) ); ?></label> <input class="input-text" type="text" name="order_email" id="order_email" value="" placeholder="<?php _e( 'Found in your order confirmation email.', 'woo-advanced-shipment-tracking' ); ?>"></p>
153
+ <div class="clear"></div>
154
+ <input type="hidden" name="action" value="get_tracking_info">
155
+ <p class="form-row"><button type="submit" class="button" name="track" value="Track"><?php echo apply_filters( 'ast_tracking_page_front_track_label', __( 'Track', 'woo-advanced-shipment-tracking' ) ); ?></button></p>
156
+ <div class="track_fail_msg" style="display:none;color: red;"></div>
157
+ </form>
158
+ </div>
159
+ <?php
160
 
161
+ $form = ob_get_clean();
162
+ return $form;
163
+
164
+ } else{
165
+ ob_start();
 
 
 
 
 
 
 
 
 
 
166
 
167
+ $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
168
+ $order_id = $wast->get_formated_order_id($order_id);
 
 
 
 
 
 
 
 
169
 
170
+ $num = 1;
171
+ $total_trackings = sizeof($tracking_items);
172
 
173
  foreach($tracking_items as $item){
174
 
175
+ $tracking_number = $item['tracking_number'];
176
+ $trackship_url = 'https://trackship.info';
177
+ $tracking_provider = $item['tracking_provider'];
178
+ $results = $wpdb->get_row( "SELECT * FROM {$this->table} WHERE ts_slug= '{$tracking_provider}'");
179
+ $tracking_provider = $results->provider_name;
180
+
181
+ /*** Update in 2.4.1
182
+ * Change URL
183
+ * Add User Key
184
+ ***/
185
+ $url = $trackship_url.'/wp-json/tracking/get_tracking_info';
186
+ $args['body'] = array(
187
+ 'tracking_number' => $tracking_number,
188
+ 'order_id' => $order_id,
189
+ 'domain' => get_home_url(),
190
+ 'user_key' => $wc_ast_api_key,
191
+ );
192
+ $response = wp_remote_post( $url, $args );
193
+ $data = $response['body'];
194
+ $decoded_data = json_decode($data);
195
+
196
+ $tracker = new \stdClass();
197
+ $tracker->ep_status = '';
198
+ if(!empty($decoded_data)){
199
+ $tracker = $decoded_data[0];
200
+ }
201
+
202
+ $tracking_detail_org = '';
203
+ $trackind_detail_by_status_rev = '';
204
+
205
+ if(isset($tracker->tracking_detail) && $tracker->tracking_detail != 'null'){
206
+ $tracking_detail_org = json_decode($tracker->tracking_detail);
207
+ $trackind_detail_by_status_rev = array_reverse($tracking_detail_org);
208
+ }
209
 
210
  if(!empty($decoded_data)){
211
 
212
+ if($tracker->est_delivery_date){
213
+ $unixTimestamp = strtotime($tracker->est_delivery_date);
214
+ $day = date("l", $unixTimestamp);
215
+ }
216
 
217
+ if($tracker->ep_status == "unknown"){ $state0_class = 'unknown'; } else{ $state0_class = 'pre_transit'; }
218
+
219
+ if($tracker->ep_status == "return_to_sender" ){
220
+ $state2_class = 'return_to_sender';
221
+ } elseif($tracker->ep_status == "failure"){
222
+ $state2_class = 'failure';
223
+ } elseif($tracker->ep_status == "available_for_pickup"){
224
+ $state2_class = 'available_for_pickup';
225
+ } else{
226
+ $state2_class = 'out_for_delivery';
227
+ }
228
+ ?>
 
229
 
230
+ <div class="tracking-detail col">
231
  <?php if($total_trackings > 1 ){ ?>
232
  <p class="shipment_heading"><?php
233
  echo sprintf(__("Shipment - %s (out of %s)", 'woo-advanced-shipment-tracking'), $num , $total_trackings); ?></p>
234
  <?php } ?>
235
  <div class="tracking-header">
236
  <div class="col-md col-md-6">
237
+ <?php _e( 'Order', 'woocommerce' ); ?>: <span class="tracking-number">#<?php echo apply_filters( 'ast_order_number_filter', $order_id); ?></span><br/>
238
+ <?php echo apply_filters( 'ast_provider_title', $tracking_provider); ?>: <span class="tracking-number"><?php echo $tracker->tracking_code; ?></span>
239
  <h1 class="shipment_status_heading <?php if($tracker->ep_status == "delivered") { echo 'text-success'; } elseif($tracker->ep_status == "return_to_sender" || $tracker->ep_status == "failure") { echo 'text-success'; } else{ echo 'text-secondary'; } ?>"><?php echo apply_filters("trackship_status_filter",$tracker->ep_status);?></h1>
240
  </div>
241
  <div class="col-md col-md-6">
253
  </div>
254
  </div>
255
  <?php
256
+ if($tracker->ep_status == 'pending_trackship' || $tracker->ep_status == 'INVALID_TRACKING_NUM' || $tracker->ep_status == 'carrier_unsupported' || $tracker->ep_status == 'invalid_user_key' || $tracker->ep_status == 'wrong_shipping_provider' || $tracker->ep_status == 'deleted' || $tracker->ep_status == 'pending'){
257
 
258
  }
259
  elseif(isset($tracker->ep_status)){ ?>
354
  </div>
355
  <?php } ?>
356
  <?php if( !empty($trackind_detail_by_status_rev) && $hide_tracking_events != 1 ){ ?>
357
+ <div class="shipment_progress_div">
358
+ <div class="shipment_progress_heading_div">
359
+ <h4 class="tracking-number h4-heading" style=""><?php _e( 'Tracking Details', 'woo-advanced-shipment-tracking' ); ?></h4>
360
+ </div>
361
+ <table class="tracking-table">
362
+ <tbody>
363
+ <?php
364
+ $i=0;
365
+ foreach($trackind_detail_by_status_rev as $key=>$status_detail){ ?>
366
+ <tr>
367
+ <td><?php echo date_i18n( get_option( 'date_format' ), strtotime($status_detail->datetime) ); ?>
368
+ <?php echo date_i18n( get_option( 'time_format' ), strtotime($status_detail->datetime) ); ?></td>
369
+ <td><?php echo apply_filters("trackship_status_filter",$status_detail->status);?></td>
370
+ <td><?php echo $status_detail->message; ?></td>
371
+ </tr>
372
+ <?php }
373
+ ?>
374
+ </tbody>
375
+ </table>
376
+ <?php if(count($trackind_detail_by_status_rev) > 2){ ?>
377
+
378
+ <a class="view_table_rows" href="javaScript:void(0);"><?php _e( 'view more', 'woo-advanced-shipment-tracking' ); ?></a>
379
+ <a class="hide_table_rows" href="javaScript:void(0);"><?php _e( 'view less', 'woo-advanced-shipment-tracking' ); ?></a>
380
+ <?php } ?>
381
+ </div>
382
  <?php } ?>
383
+ </div>
384
  <?php } else{ ?>
385
  <div class="tracking-detail col">
386
  <h1 class="shipment_status_heading text-secondary text-center"><?php _e( 'Tracking&nbsp;#&nbsp;'.$tracking_number, 'woo-advanced-shipment-tracking' ); ?></h1>
387
+ <h3 class="text-center"><?php _e( 'Tracking details not found in TrackShip', 'woo-advanced-shipment-tracking' ); ?></h3>
388
  </div>
389
  <?php }
390
  $num++;
391
  }
392
+
393
  $remove_trackship_branding = get_option('wc_ast_remove_trackship_branding');
394
+
395
  if($remove_trackship_branding != 1){ ?>
396
  <div class="trackship_branding">
397
  <p>Shipment Tracking info by <a href="https://trackship.info" title="TrackShip" target="blank">TrackShip</a></p>
398
  </div>
399
+ <?php }
400
+
401
  $form = ob_get_clean();
402
+ return $form;
403
+ }
404
+ }
405
 
406
  public function get_tracking_info_fun(){
407
+
408
  global $wpdb;
409
  $wc_ast_api_key = get_option('wc_ast_api_key');
410
  $hide_tracking_events = get_option('wc_ast_hide_tracking_events');
411
+
412
  if(!$wc_ast_api_key){
413
  return;
414
  }
 
415
 
416
+ $order_id = $_POST['order_id'];
417
  $email = $_POST['order_email'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
418
 
419
+ $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
420
+ $order_id = $wast->get_formated_order_id($order_id);
 
 
 
 
 
421
 
422
+ $order = wc_get_order( $order_id );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
423
 
424
+ if(empty($order)){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
425
  echo '';
426
  exit;
427
  }
428
+
429
  $order_email = $order->get_billing_email();
430
+
431
+ if(strtolower($order_email) != strtolower($email)){
432
  echo '';
433
  exit;
434
  }
435
+
436
  if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
437
+ $tracking_items = get_post_meta( $order_id, '_wc_shipment_tracking_items', true );
438
+ } else {
439
+ $tracking_items = $order->get_meta( '_wc_shipment_tracking_items', true );
 
 
 
440
  }
441
+
442
  if(!$tracking_items){
443
  echo 'tracking_items_not_found';
444
  exit;
445
  }
 
446
 
 
447
  $num = 1;
448
  $total_trackings = sizeof($tracking_items);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
449
 
450
+ foreach($tracking_items as $item){
451
+
452
+ $tracking_number = $item['tracking_number'];
453
+ $trackship_url = 'https://trackship.info';
454
+ $tracking_provider = $item['tracking_provider'];
455
+ $results = $wpdb->get_row( "SELECT * FROM {$this->table} WHERE ts_slug= '{$tracking_provider}'");
456
+ $tracking_provider = $results->provider_name;
457
+
458
+ /*** Update in 2.4.1
459
+ * Change URL
460
+ * Add User Key
461
+ ***/
462
+ $url = $trackship_url.'/wp-json/tracking/get_tracking_info';
463
+ $args['body'] = array(
464
+ 'tracking_number' => $tracking_number,
465
+ 'order_id' => $order_id,
466
+ 'domain' => get_home_url(),
467
+ 'user_key' => $wc_ast_api_key,
468
+ );
469
+ $response = wp_remote_post( $url, $args );
470
+ $data = $response['body'];
471
+ $decoded_data = json_decode($data);
472
+
473
+ $tracker = new \stdClass();
474
+ $tracker->ep_status = '';
475
+ if(!empty($decoded_data)){
476
+ $tracker = $decoded_data[0];
477
+ }
478
+
479
+ $tracking_detail_org = '';
480
+ $trackind_detail_by_status_rev = '';
481
+
482
+ if(isset($tracker->tracking_detail) && $tracker->tracking_detail != 'null'){
483
+ $tracking_detail_org = json_decode($tracker->tracking_detail);
484
+ $trackind_detail_by_status_rev = array_reverse($tracking_detail_org);
485
+ }
486
 
487
+ if(!empty($decoded_data)){
 
 
 
488
 
489
+ if($tracker->est_delivery_date){
490
+ $unixTimestamp = strtotime($tracker->est_delivery_date);
491
+ $day = date("l", $unixTimestamp);
492
+ }
493
+
494
+ if($tracker->ep_status == "unknown"){ $state0_class = 'unknown'; } else{ $state0_class = 'pre_transit'; }
495
+
496
+ if($tracker->ep_status == "return_to_sender" ){
497
+ $state2_class = 'return_to_sender';
498
+ } elseif($tracker->ep_status == "failure"){
499
+ $state2_class = 'failure';
500
+ } elseif($tracker->ep_status == "available_for_pickup"){
501
+ $state2_class = 'available_for_pickup';
502
+ } else{
503
+ $state2_class = 'out_for_delivery';
504
+ }
505
+ ?>
506
 
507
+ <div class="tracking-detail col">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
508
  <?php if($total_trackings > 1 ){ ?>
509
  <p class="shipment_heading"><?php
510
  echo sprintf(__("Shipment - %s (out of %s)", 'woo-advanced-shipment-tracking'), $num , $total_trackings); ?></p>
511
  <?php } ?>
512
  <div class="tracking-header">
513
  <div class="col-md col-md-6">
514
+ <?php _e( 'Order', 'woocommerce' ); ?>: <span class="tracking-number">#<?php echo apply_filters( 'ast_order_number_filter', $order_id); ?></span><br/>
515
+ <?php echo apply_filters( 'ast_provider_title', $tracking_provider); ?>: <span class="tracking-number"><?php echo $tracker->tracking_code; ?></span>
516
  <h1 class="shipment_status_heading <?php if($tracker->ep_status == "delivered") { echo 'text-success'; } elseif($tracker->ep_status == "return_to_sender" || $tracker->ep_status == "failure") { echo 'text-success'; } else{ echo 'text-secondary'; } ?>"><?php echo apply_filters("trackship_status_filter",$tracker->ep_status);?></h1>
517
  </div>
518
  <div class="col-md col-md-6">
530
  </div>
531
  </div>
532
  <?php
533
+ if($tracker->ep_status == 'pending_trackship' || $tracker->ep_status == 'INVALID_TRACKING_NUM' || $tracker->ep_status == 'carrier_unsupported' || $tracker->ep_status == 'invalid_user_key' || $tracker->ep_status == 'wrong_shipping_provider' || $tracker->ep_status == 'deleted' || $tracker->ep_status == 'pending'){
534
+
535
+ }
536
+ elseif(isset($tracker->ep_status)){ ?>
537
  <div class="status-section desktop-section">
538
  <div class="tracker-progress-bar tracker-progress-bar-with-dots">
539
  <div class="progress">
628
 
629
  </div>
630
  </div>
631
+ </div>
632
+ <?php } ?>
633
+ <?php if( !empty($trackind_detail_by_status_rev) && $hide_tracking_events != 1 ){ ?>
634
+ <div class="shipment_progress_div">
635
+ <div class="shipment_progress_heading_div">
636
+ <h4 class="tracking-number h4-heading" style=""><?php _e( 'Tracking Details', 'woo-advanced-shipment-tracking' ); ?></h4>
637
+ </div>
638
+ <table class="tracking-table">
639
+ <tbody>
640
+ <?php
641
+ $i=0;
642
+ foreach($trackind_detail_by_status_rev as $key=>$status_detail){ ?>
643
+ <tr>
644
+ <td><?php echo date_i18n( get_option( 'date_format' ), strtotime($status_detail->datetime) ); ?>
645
+ <?php echo date_i18n( get_option( 'time_format' ), strtotime($status_detail->datetime) ); ?></td>
646
+ <td><?php echo apply_filters("trackship_status_filter",$status_detail->status);?></td>
647
+ <td><?php echo $status_detail->message; ?></td>
648
+ </tr>
649
+ <?php }
650
+ ?>
651
+ </tbody>
652
+ </table>
653
+ <?php if(count($trackind_detail_by_status_rev) > 2){ ?>
654
+
655
+ <a class="view_table_rows" href="javaScript:void(0);"><?php _e( 'view more', 'woo-advanced-shipment-tracking' ); ?></a>
656
+ <a class="hide_table_rows" href="javaScript:void(0);"><?php _e( 'view less', 'woo-advanced-shipment-tracking' ); ?></a>
657
+ <?php } ?>
658
+ </div>
659
  <?php } ?>
660
+ </div>
661
+ <?php } else{ ?>
662
  <div class="tracking-detail col">
663
  <h1 class="shipment_status_heading text-secondary text-center"><?php _e( 'Tracking&nbsp;#&nbsp;'.$tracking_number, 'woo-advanced-shipment-tracking' ); ?></h1>
664
+ <h3 class="text-center"><?php _e( 'Tracking details not found in TrackShip', 'woo-advanced-shipment-tracking' ); ?></h3>
665
  </div>
666
+ <?php }
667
+ $num++;
668
+ }
669
+
 
 
 
670
  $remove_trackship_branding = get_option('wc_ast_remove_trackship_branding');
671
+
672
+ if($remove_trackship_branding != 1){ ?>
673
+
674
  <div class="trackship_branding">
675
  <p>Shipment Tracking info by <a href="https://trackship.info" title="TrackShip" target="blank">TrackShip</a></p>
676
  </div>
677
+
678
+ <?php }
679
+
680
+ exit;
681
+ }
682
 
683
+ /**
684
+ * convert string to date
685
+ */
686
+ public static function convertString ($date)
687
  {
688
  // convert date and time to seconds
689
  $sec = strtotime($date);
691
  // convert seconds into a specific format
692
  $date = date("m/d/Y H:i", $sec);
693
 
 
 
 
694
  // print final date and time
695
  return $date;
696
  }
697
 
698
+ public static function preview_tracking_page(){
699
+ $action = (isset($_REQUEST["action"])?$_REQUEST["action"]:"");
700
+ if($action != 'preview_tracking_page')return;
701
+
702
  get_header();
703
 
704
+ $wc_ast_api_key = get_option('wc_ast_api_key');
705
+ $primary_color = get_option('wc_ast_select_primary_color');
706
+ $border_color = get_option('wc_ast_select_border_color');
707
+ $hide_tracking_events = get_option('wc_ast_hide_tracking_events');
708
+ ?>
709
+
710
+ <style>
711
+ <?php if($primary_color){ ?>
712
+ .bg-secondary{
713
+ background-color:<?php echo $primary_color; ?> !important;
714
+ }
715
+ .tracker-progress-bar-with-dots .secondary .dot {
716
+ border-color: <?php echo $primary_color; ?>;
717
+ }
718
+ .text-secondary{
719
+ color: <?php echo $primary_color; ?> !important;
720
+ }
721
+ .progress-bar.bg-secondary:before{
722
+ background-color: <?php echo $primary_color; ?>;
723
+ }
724
+ .tracking-number{
725
+ color: <?php echo $primary_color; ?> !important;
726
+ }
727
+ .view_table_rows,.hide_table_rows{
728
+ color: <?php echo $primary_color; ?> !important;
729
+ }
730
+ <?php }
731
+ if($border_color){ ?>
732
+ .col.tracking-detail{
733
+ border: 1px solid <?php echo $border_color; ?>;
734
+ }
735
+ <?php } ?>
736
+ </style>
737
+
738
  <div class="tracking-detail col">
739
  <div class="tracking-header">
740
  <div class="col-md col-md-6">
741
+ <?php _e( 'Order', 'woocommerce' ); ?>: <span class="tracking-number">#4542</span><br>
742
  USPS: <span class="tracking-number">9405511899561468285343</span>
743
  <h1 class="shipment_status_heading text-success">Delivered</h1>
744
  </div>
745
  <div class="col-md col-md-6">
746
  <div class="text-muted text-right">
747
+ <?php _e( 'Estimated Delivery Date', 'woo-advanced-shipment-tracking' ); ?>: <span class="tracking-number">Friday, Jun 28</span>
748
  </div>
749
  </div>
750
  </div>
804
  </div>
805
  </div>
806
  </div>
807
+
808
+ <?php if($hide_tracking_events != 1){ ?>
809
+
810
+ <div class="shipment_progress_div">
811
+ <div class="shipment_progress_heading_div">
812
+ <h4 class="tracking-number h4-heading"><?php _e( 'Tracking Details', 'woo-advanced-shipment-tracking' ); ?></h4>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
813
  </div>
814
+ <table class="tracking-table">
815
+ <tbody>
816
+ <tr>
817
+ <td>June 28, 2019 1:46 pm</td>
818
+ <td>Delivered</td>
819
+ <td>Delivered, Garage or Other Location at Address</td>
820
+ </tr>
821
+ <tr>
822
+ <td>June 28, 2019 8:31 am</td>
823
+ <td>Out for delivery</td>
824
+ <td>Out for Delivery</td>
825
+ </tr>
826
+ <tr style="display: none;">
827
+ <td>June 28, 2019 8:21 am</td>
828
+ <td>In Transit</td>
829
+ <td>Sorting Complete</td>
830
+ </tr>
831
+ </tbody>
832
+ </table>
833
+ <a class="view_table_rows" href="javaScript:void(0);" style="display: inline;"><?php _e( 'view more', 'woo-advanced-shipment-tracking' ); ?></a>
834
+ <a class="hide_table_rows" href="javaScript:void(0);" style="display: none;"><?php _e( 'view less', 'woo-advanced-shipment-tracking' ); ?></a>
835
+ </div>
836
+
837
+ <?php } ?>
838
+
839
+ </div>
840
  <?php
841
+
842
  $remove_trackship_branding = get_option('wc_ast_remove_trackship_branding');
843
+
844
  if($remove_trackship_branding != 1){ ?>
845
  <div class="trackship_branding">
846
  <p>Shipment Tracking info by <a href="https://trackship.info" title="TrackShip" target="blank">TrackShip</a></p>
847
  </div>
848
+ <?php }
849
  get_footer();
850
  exit;
851
  }
includes/class-wc-advanced-shipment-tracking-install.php CHANGED
@@ -11,6 +11,7 @@ class WC_Advanced_Shipment_Tracking_Install {
11
  * @var object Class Instance
12
  */
13
  private static $instance;
 
14
  /**
15
  * Initialize the main plugin function
16
  */
@@ -34,6 +35,7 @@ class WC_Advanced_Shipment_Tracking_Install {
34
 
35
  $this->init();
36
  }
 
37
  /**
38
  * Get the class instance
39
  *
@@ -47,16 +49,20 @@ class WC_Advanced_Shipment_Tracking_Install {
47
 
48
  return self::$instance;
49
  }
 
50
  /*
51
  * init from parent mail class
52
  */
53
  public function init(){
54
- add_action( 'init', array( $this, 'update_database_check'));
 
55
  $wc_ast_api_key = get_option('wc_ast_api_key');
 
56
  if(!$wc_ast_api_key){
57
- require_once( 'vendor/persist-admin-notices-dismissal/persist-admin-notices-dismissal.php' );
58
- add_action( 'admin_init', array( 'PAnD', 'init' ) );
59
- add_action( 'admin_notices', array( $this, 'admin_notice_after_update' ) );
 
60
  }
61
  }
62
 
@@ -69,10 +75,13 @@ class WC_Advanced_Shipment_Tracking_Install {
69
  *
70
  *
71
  */
72
- public function woo_shippment_tracking_install(){
73
 
74
  global $wpdb;
75
 
 
 
 
76
  $woo_shippment_table_name = $wpdb->prefix . 'woo_shippment_provider';
77
  $woo_shippment_status_email_table = $wpdb->prefix . 'woo_shipment_status_email';
78
  // create the ECPT metabox database table
@@ -131,6 +140,7 @@ class WC_Advanced_Shipment_Tracking_Install {
131
  update_option( 'wc_advanced_shipment_tracking', '3.1');
132
  }
133
  }
 
134
  /**
135
  *
136
  * Return shipment provider list array
@@ -138,807 +148,808 @@ class WC_Advanced_Shipment_Tracking_Install {
138
  */
139
  public function provider_list(){
140
  $providers = array(
141
- 0 => array (
142
- "provider_name" => 'Australia Post',
143
- "ts_slug" => 'australia-post',
144
- "provider_url" => 'http://auspost.com.au/track/track.html?id=%number%',
145
- "shipping_country" => 'AU',
146
- "shipping_default" => '1'
147
- ),
148
-
149
- 1 => array (
150
- "provider_name" => 'Fastway AU',
151
- "ts_slug" => 'fastway-au',
152
- "provider_url" => 'http://www.fastway.com.au/courier-services/track-your-parcel?l=%number%',
153
- "shipping_country" => 'AU',
154
- "shipping_default" => '1'
155
- ),
 
 
 
 
 
 
 
 
156
 
157
- 2 => array (
158
- "provider_name" => 'post.at',
159
- "ts_slug" => 'post-at',
160
- "provider_url" => 'http://www.post.at/sendungsverfolgung.php?pnum1=%number%',
161
- "shipping_country" => 'AT',
162
- "shipping_default" => '1'
163
- ),
164
-
165
- 3 => array (
166
- "provider_name" => 'DHL at',
167
- "ts_slug" => 'dhl-at',
168
- "provider_url" => 'http://www.dhl.at/content/at/de/express/sendungsverfolgung.html?brand=DHL&AWB=%number%',
169
- "shipping_country" => 'AT',
170
- "shipping_default" => '1'
171
- ),
172
 
173
- 4 => array (
174
- "provider_name" => 'DPD.at',
175
- "ts_slug" => 'dpd-at',
176
- "provider_url" => 'https://tracking.dpd.de/parcelstatus?locale=de_AT&query=%number%',
177
- "shipping_country" => 'AT',
178
- "shipping_default" => '1'
179
- ),
180
 
181
- 5 => array (
182
- "provider_name" => 'Brazil Correios',
183
- "ts_slug" => 'brazil-correios',
184
- "provider_url" => 'http://websro.correios.com.br/sro_bin/txect01$.QueryList?P_LINGUA=001&P_TIPO=001&P_COD_UNI=%number%',
185
- "shipping_country" => 'BR',
186
- "shipping_default" => '1'
187
- ),
188
 
189
- 6 => array (
190
- "provider_name" => 'Belgium Post',
191
- "ts_slug" => 'belgium-post',
192
- "provider_url" => 'https://track.bpost.be/btr/web/#/search?itemCode=%number%',
193
- "shipping_country" => 'BE',
194
- "shipping_default" => '1'
195
- ),
196
 
197
- 7 => array (
198
- "provider_name" => 'Canada Post',
199
- "ts_slug" => 'canada-post',
200
- "provider_url" => 'http://www.canadapost.ca/cpotools/apps/track/personal/findByTrackNumber?trackingNumber=%number%',
201
- "shipping_country" => 'CA',
202
- "shipping_default" => '1'
203
- ),
204
-
205
- 8 => array (
206
- "provider_name" => 'DHL cz',
207
- "ts_slug" => 'dhl-cz',
208
- "provider_url" => 'http://www.dhl.cz/cs/express/sledovani_zasilek.html?AWB=%number%',
209
- "shipping_country" => 'CZ',
210
- "shipping_default" => '1'
211
- ),
212
-
213
- 9 => array (
214
- "provider_name" => 'DPD.cz',
215
- "ts_slug" => 'dpd-cz',
216
- "provider_url" => 'https://tracking.dpd.de/parcelstatus?locale=cs_CZ&query=%number%',
217
- "shipping_country" => 'CZ',
218
- "shipping_default" => '1'
219
- ),
220
 
221
- 10 => array (
222
- "provider_name" => 'Colissimo',
223
- "ts_slug" => 'colissimo',
224
- "provider_url" => 'https://www.laposte.fr/outils/suivre-vos-envois?code=%number%',
225
- "shipping_country" => 'FR',
226
- "shipping_default" => '1'
227
- ),
228
 
229
- 11 => array (
230
- "provider_name" => 'DHL Intraship (DE)',
231
- "ts_slug" => 'dhl-intraship-de',
232
- "provider_url" => 'http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc=%number%&rfn=&extendedSearch=true',
233
- "shipping_country" => 'DE',
234
- "shipping_default" => '1'
235
- ),
236
 
237
- 12 => array (
238
- "provider_name" => 'Hermes Germany',
239
- "ts_slug" => 'hermes-de',
240
- "provider_url" => 'https://www.myhermes.de/empfangen/sendungsverfolgung/?suche=%number%',
241
- "shipping_country" => 'DE',
242
- "shipping_default" => '1'
243
- ),
244
 
245
- 13 => array (
246
- "provider_name" => 'Deutsche Post DHL',
247
- "ts_slug" => 'deutsche-post-dhl',
248
- "provider_url" => 'http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc=%number%',
249
- "shipping_country" => 'DE',
250
- "shipping_default" => '1'
251
- ),
252
 
253
- 14 => array (
254
- "provider_name" => 'UPS Germany',
255
- "ts_slug" => 'ups-germany',
256
- "provider_url" => 'http://wwwapps.ups.com/WebTracking/processInputRequest?sort_by=status&tracknums_displayed=1&TypeOfInquiryNumber=T&loc=de_DE&InquiryNumber1=%number%',
257
- "shipping_country" => 'DE',
258
- "shipping_default" => '1'
259
- ),
260
 
261
- 15 => array (
262
- "provider_name" => 'DPD.de',
263
- "ts_slug" => 'dpd-de',
264
- "provider_url" => 'https://tracking.dpd.de/parcelstatus?query=%number%&locale=en_DE',
265
- "shipping_country" => 'DE',
266
- "shipping_default" => '1'
267
- ),
268
 
269
- 16 => array (
270
- "provider_name" => 'DPD.ie',
271
- "ts_slug" => 'dpd-ie',
272
- "provider_url" => 'http://www2.dpd.ie/Services/QuickTrack/tabid/222/ConsignmentID/%number%/Default.aspx',
273
- "shipping_country" => 'IE',
274
- "shipping_default" => '1'
275
- ),
276
 
277
- 17 => array (
278
- "provider_name" => 'DHL Express',
279
- "ts_slug" => 'dhl-express',
280
- "provider_url" => 'http://www.dhl.it/it/express/ricerca.html?AWB=%number%&brand=DHL',
281
- "shipping_country" => 'Global',
282
- "shipping_default" => '1'
283
- ),
284
 
285
- 18 => array (
286
- "provider_name" => 'PostNL',
287
- "ts_slug" => 'postnl',
288
- "provider_url" => 'https://mijnpakket.postnl.nl/Claim?Barcode=%number%&Postalcode=%2$s&Foreign=False&ShowAnonymousLayover=False&CustomerServiceClaim=False',
289
- "shipping_country" => 'NL',
290
- "shipping_default" => '1'
291
- ),
292
 
293
- 19 => array (
294
- "provider_name" => 'DPD.NL',
295
- "ts_slug" => 'dpd-nl',
296
- "provider_url" => 'http://track.dpdnl.nl/?parcelnumber=%number%',
297
- "shipping_country" => 'NL',
298
- "shipping_default" => '1'
299
- ),
300
 
301
- 20 => array (
302
- "provider_name" => 'Fastway NZ',
303
- "ts_slug" => 'fastway-nz',
304
- "provider_url" => 'https://www.fastway.co.nz/tools/track?l=%number%',
305
- "shipping_country" => 'NZ',
306
- "shipping_default" => '1'
307
- ),
308
 
309
- 21 => array (
310
- "provider_name" => 'DPD Romania',
311
- "ts_slug" => 'dpd-romania',
312
- "provider_url" => 'https://tracking.dpd.de/parcelstatus?query=%number%&locale=ro_RO',
313
- "shipping_country" => 'RO',
314
- "shipping_default" => '1'
315
- ),
316
 
317
- 22 => array (
318
- "provider_name" => 'PostNord Sverige AB',
319
- "ts_slug" => 'postnord-sverige-ab',
320
- "provider_url" => 'http://www.postnord.se/sv/verktyg/sok/Sidor/spara-brev-paket-och-pall.aspx?search=%number%',
321
- "shipping_country" => 'SE',
322
- "shipping_default" => '1'
323
- ),
324
 
325
- 23 => array (
326
- "provider_name" => 'DHL se',
327
- "ts_slug" => 'dhl-se',
328
- "provider_url" => 'http://www.dhl.se/content/se/sv/express/godssoekning.shtml?brand=DHL&AWB=%number%',
329
- "shipping_country" => 'SE',
330
- "shipping_default" => '1'
331
- ),
332
 
333
- 24 => array (
334
- "provider_name" => 'UPS.se',
335
- "ts_slug" => 'ups-se',
336
- "provider_url" => 'http://wwwapps.ups.com/WebTracking/track?track=yes&loc=sv_SE&trackNums=%number%',
337
- "shipping_country" => 'SE',
338
- "shipping_default" => '1'
339
- ),
340
 
341
- 25 => array (
342
- "provider_name" => 'DHL uk',
343
- "ts_slug" => 'dhl-uk',
344
- "provider_url" => 'http://www.dhl.com/content/g0/en/express/tracking.shtml?brand=DHL&AWB=%number%',
345
- "shipping_country" => 'GB',
346
- "shipping_default" => '1'
347
- ),
348
 
349
- 26 => array (
350
- "provider_name" => 'DPD.co.uk',
351
- "ts_slug" => 'dpd-co-uk',
352
- "provider_url" => 'http://www.dpd.co.uk/tracking/trackingSearch.do?search.searchType=0&search.parcelNumber=%number%',
353
- "shipping_country" => 'GB',
354
- "shipping_default" => '1'
355
- ),
356
 
357
- 27 => array (
358
- "provider_name" => 'InterLink',
359
- "ts_slug" => 'interlink',
360
- "provider_url" => 'http://www.interlinkexpress.com/apps/tracking/?reference=%number%&postcode=%2$s#results',
361
- "shipping_country" => 'GB',
362
- "shipping_default" => '1'
363
- ),
364
 
365
- 28 => array (
366
- "provider_name" => 'ParcelForce',
367
- "ts_slug" => 'parcelforce',
368
- "provider_url" => 'http://www.parcelforce.com/portal/pw/track?trackNumber=%number%',
369
- "shipping_country" => 'GB',
370
- "shipping_default" => '1'
371
- ),
372
 
373
- 29 => array (
374
- "provider_name" => 'Royal Mail',
375
- "ts_slug" => 'royal-mail',
376
- "provider_url" => 'https://www.royalmail.com/track-your-item/?trackNumber=%number%',
377
- "shipping_country" => 'GB',
378
- "shipping_default" => '1'
379
- ),
380
 
381
- 30 => array (
382
- "provider_name" => 'Fedex',
383
- "ts_slug" => 'fedex',
384
- "provider_url" => 'http://www.fedex.com/Tracking?action=track&tracknumbers=%number%',
385
- "shipping_country" => 'US',
386
- "shipping_default" => '1'
387
- ),
388
 
389
- 31 => array (
390
- "provider_name" => 'FedEx Sameday',
391
- "ts_slug" => 'fedex-sameday',
392
- "provider_url" => 'https://www.fedexsameday.com/fdx_dotracking_ua.aspx?tracknum=%number%',
393
- "shipping_country" => 'US',
394
- "shipping_default" => '1'
395
- ),
396
 
397
- 32 => array (
398
- "provider_name" => 'OnTrac',
399
- "ts_slug" => 'ontrac',
400
- "provider_url" => 'http://www.ontrac.com/trackingdetail.asp?tracking=%number%',
401
- "shipping_country" => 'US',
402
- "shipping_default" => '1'
403
- ),
404
 
405
- 33 => array (
406
- "provider_name" => 'UPS',
407
- "ts_slug" => 'ups',
408
- "provider_url" => 'http://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=%number%',
409
- "shipping_country" => 'US',
410
- "shipping_default" => '1'
411
- ),
412
 
413
- 34 => array (
414
- "provider_name" => 'USPS',
415
- "ts_slug" => 'usps',
416
- "provider_url" => 'https://tools.usps.com/go/TrackConfirmAction_input?qtc_tLabels1=%number%',
417
- "shipping_country" => 'US',
418
- "shipping_default" => '1'
419
- ),
420
 
421
- 35 => array (
422
- "provider_name" => 'DHL US',
423
- "ts_slug" => 'dhl-us',
424
- "provider_url" => 'https://www.logistics.dhl/us-en/home/tracking/tracking-ecommerce.html?tracking-id=%number%',
425
- "shipping_country" => 'US',
426
- "shipping_default" => '1'
427
- ),
428
 
429
- 36 => array (
430
- "provider_name" => 'LaserShip',
431
- "ts_slug" => 'lasership',
432
- "provider_url" => 'https://www.lasership.com/track.php?track_number_input=%number%',
433
- "shipping_country" => 'US',
434
- "shipping_default" => '1'
435
- ),
436
- 37 => array (
437
- "provider_name" => 'GSO',
438
- "ts_slug" => 'gso',
439
- "provider_url" => 'https://www.gso.com/tracking',
440
- "shipping_country" => 'US',
441
- "shipping_default" => '1'
442
- ),
443
- 38 => array (
444
- "provider_name" => 'ABF',
445
- "ts_slug" => 'abf',
446
- "provider_url" => 'https://arcb.com/tools/tracking.html',
447
- "shipping_country" => 'IN',
448
- "shipping_default" => '1'
449
- ),
450
- 39 => array (
451
- "provider_name" => 'Associated Global Systems',
452
- "ts_slug" => 'associated-global-systems',
453
- "provider_url" => 'https://tracking.agsystems.com/',
454
- "shipping_country" => 'US',
455
- "shipping_default" => '1'
456
- ),
457
- 40 => array (
458
- "provider_name" => 'APC',
459
- "ts_slug" => 'apc',
460
- "provider_url" => 'https://us.mytracking.net/APC/track/TrackDetails.aspx?t=%number%',
461
- "shipping_country" => 'US',
462
- "shipping_default" => '1'
463
- ),
464
- 41 => array (
465
- "provider_name" => 'ArrowXL',
466
- "ts_slug" => 'arrowxl',
467
- "provider_url" => 'https://askaxl.co.uk/tracking?upi=%number%',
468
- "shipping_country" => 'GB',
469
- "shipping_default" => '1'
470
- ),
471
- 42 => array (
472
- "provider_name" => 'Dai Post',
473
- "ts_slug" => 'dai-post',
474
- "provider_url" => 'https://daiglobaltrack.com/tracking.aspx?custtracknbr=%number%',
475
- "shipping_country" => 'AU',
476
- "shipping_default" => '1'
477
- ),
478
- 43 => array (
479
- "provider_name" => 'Deliv',
480
- "ts_slug" => 'deliv',
481
- "provider_url" => 'https://tracking.deliv.co/',
482
- "shipping_country" => 'US',
483
- "shipping_default" => '1'
484
- ),
485
- 44 => array (
486
- "provider_name" => 'India Post',
487
- "ts_slug" => 'india-post',
488
- "provider_url" => 'https://www.indiapost.gov.in/_layouts/15/dop.portal.tracking/trackconsignment.aspx',
489
- "shipping_country" => 'IN',
490
- "shipping_default" => '1'
491
- ),
492
- 45 => array (
493
- "provider_name" => 'Israel Post',
494
- "ts_slug" => 'israel-post',
495
- "provider_url" => 'https://mypost.israelpost.co.il/itemtrace?itemcode=%number%',
496
- "shipping_country" => 'IL',
497
- "shipping_default" => '1'
498
- ),
499
- 46 => array (
500
- "provider_name" => 'Boxberry',
501
- "ts_slug" => 'boxberry',
502
- "provider_url" => 'https://boxberry.ru/tracking/',
503
- "shipping_country" => 'RU',
504
- "shipping_default" => '1'
505
- ),
506
- 47 => array (
507
- "provider_name" => 'Canpar',
508
- "ts_slug" => 'canpar',
509
- "provider_url" => 'https://www.canpar.ca/en/track/tracking.jsp',
510
- "shipping_country" => 'CA',
511
- "shipping_default" => '1'
512
- ),
513
- 48 => array (
514
- "provider_name" => 'China Post',
515
- "ts_slug" => 'china-post',
516
- "provider_url" => 'http://parcelsapp.com/en/tracking/%number%',
517
- "shipping_country" => 'CN',
518
- "shipping_default" => '1'
519
- ),
520
- 49 => array (
521
- "provider_name" => 'Chronopost',
522
- "ts_slug" => 'chronopost',
523
- "provider_url" => 'https://www.chronopost.fr/fr/chrono_suivi_search?listeNumerosLT=%number%',
524
- "shipping_country" => 'FR',
525
- "shipping_default" => '1'
526
- ),
527
- 50 => array (
528
- "provider_name" => 'Colis Privé',
529
- "ts_slug" => 'colis-prive',
530
- "provider_url" => 'https://www.colisprive.fr/',
531
- "shipping_country" => 'FR',
532
- "shipping_default" => '1'
533
- ),
534
- 51 => array (
535
- "provider_name" => 'Correos Chile',
536
- "ts_slug" => 'correos-chile',
537
- "provider_url" => 'https://seguimientoenvio.correos.cl/home/index/%number%',
538
- "shipping_country" => 'CL',
539
- "shipping_default" => '1'
540
- ),
541
- 52 => array (
542
- "provider_name" => 'Correos Costa Rica',
543
- "ts_slug" => 'correos-costa-rica',
544
- "provider_url" => 'https://www.correos.go.cr/rastreo/consulta_envios/rastreo.aspx',
545
- "shipping_country" => 'CR',
546
- "shipping_default" => '1'
547
- ),
548
- 53 => array (
549
- "provider_name" => 'CouriersPlease',
550
- "ts_slug" => 'couriersplease',
551
- "provider_url" => 'https://www.couriersplease.com.au/tools-track/no/%number%',
552
- "shipping_country" => 'AU',
553
- "shipping_default" => '1'
554
- ),
555
- 54 => array (
556
- "provider_name" => 'Delhivery',
557
- "ts_slug" => 'delhivery',
558
- "provider_url" => 'https://www.delhivery.com/track/package/%number%',
559
- "shipping_country" => 'IN',
560
- "shipping_default" => '1'
561
- ),
562
- 55 => array (
563
- "provider_name" => 'Deutsche Post',
564
- "ts_slug" => 'deutsche-post',
565
- "provider_url" => 'https://www.deutschepost.de/sendung/simpleQuery.html',
566
- "shipping_country" => 'DE',
567
- "shipping_default" => '1'
568
- ),
569
- 56 => array (
570
- "provider_name" => 'Direct Link',
571
- "ts_slug" => 'direct-link',
572
- "provider_url" => 'https://tracking.directlink.com/?itemNumber=%number%',
573
- "shipping_country" => 'DE',
574
- "shipping_default" => '1'
575
- ),
576
- 57 => array (
577
- "provider_name" => 'EC Firstclass',
578
- "ts_slug" => 'ec-firstclass',
579
- "provider_url" => 'http://www.ec-firstclass.org/Details.aspx',
580
- "shipping_country" => 'US',
581
- "shipping_default" => '1'
582
- ),
583
- 58 => array (
584
- "provider_name" => 'Ecom Express',
585
- "ts_slug" => 'ecom-express',
586
- "provider_url" => 'https://ecomexpress.in/tracking/?tflag=0&awb_field=%number%',
587
- "shipping_country" => 'IN',
588
- "shipping_default" => '1'
589
- ),
590
- 59 => array (
591
- "provider_name" => 'EMS',
592
- "ts_slug" => 'ems',
593
- "provider_url" => 'https://www.ems.post/en/global-network/tracking',
594
- "shipping_country" => 'CN',
595
- "shipping_default" => '1'
596
- ),
597
- 60 => array (
598
- "provider_name" => 'Hong Kong Post',
599
- "ts_slug" => 'hong-kong-post',
600
- "provider_url" => 'https://www.hongkongpost.hk/en/mail_tracking/index.html',
601
- "shipping_country" => 'HK',
602
- "shipping_default" => '1'
603
- ),
604
- 61 => array (
605
- "provider_name" => 'JP Post',
606
- "ts_slug" => 'jp-post',
607
- "provider_url" => 'https://trackings.post.japanpost.jp/services/srv/sequenceNoSearch/?requestNo=%number%&count=100&sequenceNoSearch.x=94&sequenceNoSearch.y=10&locale=en',
608
- "shipping_country" => 'JP',
609
- "shipping_default" => '1'
610
- ),
611
- 62 => array (
612
- "provider_name" => 'La Poste',
613
- "ts_slug" => 'la-poste',
614
- "provider_url" => 'https://www.laposte.fr/particulier/outils/en/track-a-parcel',
615
- "shipping_country" => 'FR',
616
- "shipping_default" => '1'
617
- ),
618
- 63 => array (
619
- "provider_name" => 'Latvijas Pasts',
620
- "ts_slug" => 'latvijas-pasts',
621
- "provider_url" => 'https://www.pasts.lv/en/Category/Tracking_of_Postal_Items/',
622
- "shipping_country" => 'LV',
623
- "shipping_default" => '1'
624
- ),
625
- 64 => array (
626
- "provider_name" => 'Ninja Van',
627
- "ts_slug" => 'ninja-van',
628
- "provider_url" => 'https://www.ninjavan.co/en-sg/?tracking_id=%number%',
629
- "shipping_country" => 'SG',
630
- "shipping_default" => '1'
631
- ),
632
- 65 => array (
633
- "provider_name" => 'Singapore Post',
634
- "ts_slug" => 'singapore-post',
635
- "provider_url" => 'https://www.singpost.com/track-items',
636
- "shipping_country" => 'SG',
637
- "shipping_default" => '1'
638
- ),
639
- 66 => array (
640
- "provider_name" => 'StarTrack',
641
- "ts_slug" => 'startrack',
642
- "provider_url" => 'https://sttrackandtrace.startrack.com.au/%number%',
643
- "shipping_country" => 'AU',
644
- "shipping_default" => '1'
645
- ),
646
- 67 => array (
647
- "provider_name" => 'Ukrposhta',
648
- "ts_slug" => 'ukrposhta',
649
- "provider_url" => 'http://ukrposhta.ua/en/vidslidkuvati-forma-poshuku',
650
- "shipping_country" => 'UA',
651
- "shipping_default" => '1'
652
- ),
653
- 68 => array (
654
- "provider_name" => 'UPS i-parcel',
655
- "ts_slug" => 'ups-i-parcel',
656
- "provider_url" => 'https://tracking.i-parcel.com/?TrackingNumber=%number%',
657
- "shipping_country" => 'US',
658
- "shipping_default" => '1'
659
- ),
660
- 69 => array (
661
- "provider_name" => 'DTDC',
662
- "ts_slug" => 'dtdc',
663
- "provider_url" => 'http://www.dtdc.in/tracking/tracking_results.asp?Ttype=awb_no&strCnno=%number%&TrkType2=awb_no',
664
- "shipping_country" => 'IN',
665
- "shipping_default" => '1'
666
- ),
667
- 70 => array (
668
- "provider_name" => 'DHL Parcel',
669
- "ts_slug" => 'dhl-parcel',
670
- "provider_url" => 'https://www.logistics.dhl/us-en/home/tracking/tracking-ecommerce.html?tracking-id=%number%',
671
- "shipping_country" => 'US',
672
- "shipping_default" => '1'
673
- ),
674
- 71 => array (
675
- "provider_name" => 'An Post',
676
- "ts_slug" => 'an-post',
677
- "provider_url" => 'https://www.anpost.com/Post-Parcels/Track/History?item=%number%',
678
- "shipping_country" => 'IE',
679
- "shipping_default" => '1'
680
- ),
681
- 72 => array (
682
- "provider_name" => 'Mondial Relay',
683
- "ts_slug" => 'mondial-relay',
684
- "provider_url" => 'https://www.mondialrelay.fr/suivi-de-colis?numeroExpedition=%number%',
685
- "shipping_country" => 'FR',
686
- "shipping_default" => '1'
687
- ),
688
- 73 => array (
689
- "provider_name" => 'Swiss Post',
690
- "ts_slug" => 'swiss-post',
691
- "provider_url" => 'https://service.post.ch/EasyTrack/submitParcelData.do?p_language=en&formattedParcelCodes=%number%',
692
- "shipping_country" => 'CH',
693
- "shipping_default" => '1'
694
- ),
695
- 74 => array (
696
- "provider_name" => 'S.F Express',
697
- "ts_slug" => 's-f-express',
698
- "provider_url" => 'http://www.sf-express.com/cn/en/dynamic_function/waybill/#search/bill-number/%number%',
699
- "shipping_country" => 'CN',
700
- "shipping_default" => '1'
701
- ),
702
- 75 => array (
703
- "provider_name" => 'ePacket',
704
- "ts_slug" => 'epacket',
705
- "provider_url" => 'http://www.ems.com.cn/english.html',
706
- "shipping_country" => 'CN',
707
- "shipping_default" => '1'
708
- ),
709
- 76 => array (
710
- "provider_name" => 'DTDC Plus',
711
- "ts_slug" => 'dtdc-plus',
712
- "provider_url" => 'http://www.dtdc.in/tracking/tracking_results.asp?Ttype=awb_no&strCnno=&TrkType2=awb_no',
713
- "shipping_country" => 'IN',
714
- "shipping_default" => '1'
715
- ),
716
- 77 => array (
717
- "provider_name" => 'DHLParcel NL',
718
- "ts_slug" => 'dhlparcel-nl',
719
- "provider_url" => 'https://www.logistics.dhl/nl-en/home/tracking/tracking-parcel.html?tracking-id=%number%',
720
- "shipping_country" => 'NL',
721
- "shipping_default" => '1'
722
- ),
723
- 78 => array (
724
- "provider_name" => 'TNT',
725
- "ts_slug" => 'tnt',
726
- "provider_url" => 'https://www.tnt.com/?searchType=con&cons=%number%',
727
- "shipping_country" => 'US',
728
- "shipping_default" => '1'
729
- ),
730
- 79 => array (
731
- "provider_name" => 'Australia EMS',
732
- "ts_slug" => 'australia-ems',
733
- "provider_url" => 'https://auspost.com.au/mypost/track/#/details/%number%',
734
- "shipping_country" => 'AU',
735
- "shipping_default" => '1'
736
- ),
737
- 80 => array (
738
- "provider_name" => 'Bangladesh EMS',
739
- "ts_slug" => 'bangladesh-ems',
740
- "provider_url" => 'http://www.bangladeshpost.gov.bd/tracking.html',
741
- "shipping_country" => 'BD',
742
- "shipping_default" => '1'
743
- ),
744
- 81 => array (
745
- "provider_name" => 'Colombia Post',
746
- "ts_slug" => 'colombia-post',
747
- "provider_url" => 'http://www.4-72.com.co/',
748
- "shipping_country" => 'CO',
749
- "shipping_default" => '1'
750
- ),
751
- 82 => array (
752
- "provider_name" => 'Costa Rica Post',
753
- "ts_slug" => 'costa-rica-post',
754
- "provider_url" => 'https://www.correos.go.cr/rastreo/consulta_envios/',
755
- "shipping_country" => 'CR',
756
- "shipping_default" => '1'
757
- ),
758
- 83 => array (
759
- "provider_name" => 'Croatia Post',
760
- "ts_slug" => 'croatia-post',
761
- "provider_url" => 'https://www.posta.hr/tracktrace.aspx?broj=%number%',
762
- "shipping_country" => 'HR',
763
- "shipping_default" => '1'
764
- ),
765
- 84 => array (
766
- "provider_name" => 'Cyprus Post',
767
- "ts_slug" => 'cyprus-post',
768
- "provider_url" => 'https://www.cypruspost.post/en/track-n-trace-results?code=%number%',
769
- "shipping_country" => 'CY',
770
- "shipping_default" => '1'
771
- ),
772
- 85 => array (
773
- "provider_name" => 'Denmark Post',
774
- "ts_slug" => 'denmark-post',
775
- "provider_url" => 'https://www.postnord.dk/en/track-and-trace#dynamicloading=true&shipmentid=%number%',
776
- "shipping_country" => 'DK',
777
- "shipping_default" => '1'
778
- ),
779
- 86 => array (
780
- "provider_name" => 'Estonia Post',
781
- "ts_slug" => 'estonia-post',
782
- "provider_url" => 'https://www.omniva.ee/private/track_and_trace',
783
- "shipping_country" => 'EE',
784
- "shipping_default" => '1'
785
- ),
786
- 87 => array (
787
- "provider_name" => 'France EMS - Chronopost',
788
- "ts_slug" => 'france-ems-chronopost',
789
- "provider_url" => 'https://www.chronopost.fr/tracking-no-cms/suivi-page?listeNumerosLT=%number%',
790
- "shipping_country" => 'FR',
791
- "shipping_default" => '1'
792
- ),
793
- 88 => array (
794
- "provider_name" => 'Ivory Coast EMS',
795
- "ts_slug" => 'ivory-coast-ems',
796
- "provider_url" => 'https://laposte.ci.post/tracking-colis?identifiant=%number%',
797
- "shipping_country" => 'CI',
798
- "shipping_default" => '1'
799
- ),
800
- 89 => array (
801
- "provider_name" => 'Korea Post',
802
- "ts_slug" => 'korea-post',
803
- "provider_url" => 'https://service.epost.go.kr/trace.RetrieveEmsRigiTraceList.comm?ems_gubun=E&sid1=&POST_CODE=%number%',
804
- "shipping_country" => 'KR',
805
- "shipping_default" => '1'
806
- ),
807
- 90 => array (
808
- "provider_name" => 'Monaco EMS',
809
- "ts_slug" => 'monaco-ems',
810
- "provider_url" => 'http://www.lapostemonaco.mc',
811
- "shipping_country" => 'MC',
812
- "shipping_default" => '1'
813
- ),
814
- 91 => array (
815
- "provider_name" => 'Overseas Territory FR EMS',
816
- "ts_slug" => 'overseas-territory-fr-ems',
817
- "provider_url" => 'https://www.chronopost.fr/tracking-no-cms/suivi-page?listeNumerosLT=%number%',
818
- "shipping_country" => 'FR',
819
- "shipping_default" => '1'
820
- ),
821
- 92 => array (
822
- "provider_name" => 'Portugal Post - CTT',
823
- "ts_slug" => 'portugal-post-ctt',
824
- "provider_url" => 'http://www.ctt.pt/feapl_2/app/open/objectSearch/objectSearch.jspx',
825
- "shipping_country" => 'PT',
826
- "shipping_default" => '1'
827
- ),
828
- 93 => array (
829
- "provider_name" => 'South African Post Office',
830
- "ts_slug" => 'south-african-post-office',
831
- "provider_url" => 'http://www.southafricanpostoffice.post/index.html',
832
- "shipping_country" => 'ZA',
833
- "shipping_default" => '1'
834
- ),
835
- 94 => array (
836
- "provider_name" => 'Ukraine EMS',
837
- "ts_slug" => 'ukraine-ems',
838
- "provider_url" => 'http://dpsz.ua/en/track/ems',
839
- "shipping_country" => 'UA',
840
- "shipping_default" => '1'
841
- ),
842
- 95 => array (
843
- "provider_name" => 'TNT Italy',
844
- "ts_slug" => 'tnt-italy',
845
- "provider_url" => 'https://www.tnt.it/tracking/Tracking.do',
846
- "shipping_country" => 'IT',
847
- "shipping_default" => '1'
848
- ),
849
- 96 => array (
850
- "provider_name" => 'TNT France',
851
- "ts_slug" => 'tnt-france',
852
- "provider_url" => 'https://www.tnt.fr/public/suivi_colis/recherche/visubontransport.do',
853
- "shipping_country" => 'FR',
854
- "shipping_default" => '1'
855
- ),
856
- 97 => array (
857
- "provider_name" => 'TNT UK',
858
- "ts_slug" => 'tnt-uk',
859
- "provider_url" => 'https://www.tnt.com/?searchType=con&cons=%number%',
860
- "shipping_country" => 'GB',
861
- "shipping_default" => '1'
862
- ),
863
- 98 => array (
864
- "provider_name" => 'Aliexpress Standard Shipping',
865
- "ts_slug" => 'aliexpress-standard-shipping',
866
- "provider_url" => 'https://global.cainiao.com/detail.htm?mailNoList=LP00139185155139',
867
- "shipping_country" => 'Global',
868
- "shipping_default" => '1'
869
- ),
870
- 99 => array (
871
- "provider_name" => 'Speedex Courier',
872
- "ts_slug" => 'speedex-courier',
873
- "provider_url" => 'http://www.speedexcourier.com/',
874
- "shipping_country" => 'US',
875
- "shipping_default" => '1'
876
- ),
877
- 100 => array (
878
- "provider_name" => 'TNT Reference',
879
- "ts_slug" => 'tnt-reference',
880
- "provider_url" => 'https://www.tnt.com/express/en_gb/site/shipping-tools/tracking.html?searchType=con&cons=%number%',
881
- "shipping_country" => 'GB',
882
- "shipping_default" => '1'
883
- ),
884
- 101 => array (
885
- "provider_name" => 'TNT Click',
886
- "ts_slug" => 'tnt-click',
887
- "provider_url" => 'https://www.tnt-click.it/',
888
- "shipping_country" => 'IT',
889
- "shipping_default" => '1'
890
- ),
891
- 102 => array (
892
- "provider_name" => 'TNT Australia',
893
- "ts_slug" => 'tnt-australia',
894
- "provider_url" => 'https://www.tnt.com/express/en_au/site/shipping-tools/tracking.html?respCountry=au&respLang=en&cons=%number%',
895
- "shipping_country" => 'AU',
896
- "shipping_default" => '1'
897
- ),
898
- 103 => array (
899
- "provider_name" => 'DHL Freight',
900
- "ts_slug" => 'dhl-freight',
901
- "provider_url" => 'https://www.logistics.dhl/global-en/home/tracking/tracking-freight.html?tracking-id=%number%',
902
- "shipping_country" => 'Global',
903
- "shipping_default" => '1'
904
- ),
905
- 104 => array (
906
- "provider_name" => 'Sendle',
907
- "ts_slug" => 'sendle',
908
- "provider_url" => 'https://track.sendle.com/tracking?ref=%number%',
909
- "shipping_country" => 'AU',
910
- "shipping_default" => '1'
911
- ),
912
- 105 => array (
913
- "provider_name" => 'Deppon',
914
- "ts_slug" => 'deppon',
915
- "provider_url" => 'https://www.deppon.com/en/toTrack.action',
916
- "shipping_country" => 'CN',
917
- "shipping_default" => '1',
918
- ),
919
- 106 => array (
920
- "provider_name" => 'GLS Italy',
921
- "ts_slug" => 'gls-italy',
922
- "provider_url" => 'https://www.gls-italy.com/?option=com_gls&view=track_e_trace&mode=search&numero_spedizione=%number%&tipo_codice=nazionale',
923
- "shipping_country" => 'IT',
924
- "shipping_default" => '1',
925
- ),
926
- 107 => array (
927
- "provider_name" => 'Hermes World',
928
- "ts_slug" => 'hermes',
929
- "provider_url" => 'https://new.myhermes.co.uk/track.html#/parcel/%number%/details',
930
- "shipping_country" => 'Global',
931
- "shipping_default" => '1',
932
- ),
933
- );
934
-
935
- return $providers;
936
  }
 
937
  /*
938
  * database update
939
  */
940
  public function update_database_check(){
941
  if ( is_admin() ){
 
942
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'1.2', '>=') ){
943
  }
944
  else{
@@ -949,6 +960,7 @@ class WC_Advanced_Shipment_Tracking_Install {
949
  }
950
  update_option( 'wc_advanced_shipment_tracking', '1.2');
951
  }
 
952
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'1.3', '>=') ){
953
  }
954
  else{
@@ -959,6 +971,7 @@ class WC_Advanced_Shipment_Tracking_Install {
959
  }
960
  update_option( 'wc_advanced_shipment_tracking', '1.3');
961
  }
 
962
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'1.4', '>=') ){
963
  }
964
  else{
@@ -986,6 +999,7 @@ class WC_Advanced_Shipment_Tracking_Install {
986
  }
987
  update_option( 'wc_advanced_shipment_tracking', '1.4');
988
  }
 
989
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'1.5', '>=') ){
990
  }
991
  else{
@@ -998,6 +1012,7 @@ class WC_Advanced_Shipment_Tracking_Install {
998
  }
999
  update_option( 'wc_advanced_shipment_tracking', '1.5');
1000
  }
 
1001
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'2.4', '<') ){
1002
  global $wpdb;
1003
  $woo_shippment_table_name = $wpdb->prefix . 'woo_shippment_provider';
@@ -1034,6 +1049,7 @@ class WC_Advanced_Shipment_Tracking_Install {
1034
  }
1035
  update_option( 'wc_advanced_shipment_tracking', '2.4');
1036
  }
 
1037
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'2.5', '<') ){
1038
  global $wpdb;
1039
  $woo_shippment_table_name = $wpdb->prefix . 'woo_shippment_provider';
@@ -1047,6 +1063,7 @@ class WC_Advanced_Shipment_Tracking_Install {
1047
  $result = $wpdb->update( $woo_shippment_table_name, $data_array, $where_array );
1048
  update_option( 'wc_advanced_shipment_tracking', '2.5');
1049
  }
 
1050
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'2.6', '<') ){
1051
  global $wpdb;
1052
  $woo_shippment_table_name = $wpdb->prefix . 'woo_shippment_provider';
@@ -1086,7 +1103,8 @@ class WC_Advanced_Shipment_Tracking_Install {
1086
  "shipping_default" => $provider['shipping_default'],
1087
  ));
1088
  update_option( 'wc_advanced_shipment_tracking', '2.7');
1089
- }
 
1090
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'2.8', '<') ){
1091
  global $wpdb;
1092
  $woo_shippment_table_name = $wpdb->prefix . 'woo_shippment_provider';
@@ -1444,6 +1462,7 @@ class WC_Advanced_Shipment_Tracking_Install {
1444
 
1445
  update_option( 'wc_advanced_shipment_tracking', '2.9');
1446
  }
 
1447
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'3.0', '<') ){
1448
  global $wpdb;
1449
  $new_providers = array (
@@ -1469,14 +1488,17 @@ class WC_Advanced_Shipment_Tracking_Install {
1469
  }
1470
  update_option( 'wc_advanced_shipment_tracking', '3.0');
1471
  }
 
1472
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'3.1', '<') ){
1473
  $this->update_shipping_providers();
1474
  update_option( 'wc_advanced_shipment_tracking', '3.1');
1475
  }
 
1476
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'3.2', '<') ){
1477
  $this->update_shipping_providers();
1478
  update_option( 'wc_advanced_shipment_tracking', '3.2');
1479
  }
 
1480
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'3.3', '<') ){
1481
  global $wpdb;
1482
  $results = $wpdb->get_row( "SELECT * FROM {$this->table} LIMIT 1");
@@ -1486,88 +1508,114 @@ class WC_Advanced_Shipment_Tracking_Install {
1486
  $this->update_shipping_providers();
1487
  update_option( 'wc_advanced_shipment_tracking', '3.3');
1488
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1489
  }
1490
  }
1491
 
 
 
 
1492
  public function update_shipping_providers(){
1493
  global $wpdb;
1494
  $url = 'https://trackship.info/wp-json/WCAST/v1/Provider';
1495
  $resp = wp_remote_get( $url );
1496
- $providers = json_decode($resp['body'],true);
1497
-
1498
- $providers_name = array();
1499
-
1500
- $default_shippment_providers = $wpdb->get_results( "SELECT * FROM $this->table WHERE shipping_default = 1" );
1501
 
1502
- foreach ( $default_shippment_providers as $key => $val ){
1503
- $shippment_providers[ $val->provider_name ] = $val;
1504
- }
1505
-
1506
- foreach ( $providers as $key => $val ){
1507
- $providers_name[ $val['provider_name'] ] = $val;
1508
- }
1509
 
1510
- foreach($providers as $provider){
1511
 
1512
- $provider_name = $provider['shipping_provider'];
1513
- $provider_url = $provider['provider_url'];
1514
- $shipping_country = $provider['shipping_country'];
1515
- $ts_slug = $provider['shipping_provider_slug'];
1516
 
1517
- if(isset($shippment_providers[$provider_name])){
1518
- $db_provider_url = $shippment_providers[$provider_name]->provider_url;
1519
- $db_shipping_country = $shippment_providers[$provider_name]->shipping_country;
1520
- $db_ts_slug = $shippment_providers[$provider_name]->ts_slug;
1521
- if(($db_provider_url != $provider_url) || ($db_shipping_country != $shipping_country) || ($db_ts_slug != $ts_slug)){
1522
- $data_array = array(
1523
- 'ts_slug' => $ts_slug,
1524
- 'provider_url' => $provider_url,
1525
- 'shipping_country' => $shipping_country,
1526
- );
1527
- $where_array = array(
1528
- 'provider_name' => $provider_name,
1529
- );
1530
- $wpdb->update( $this->table, $data_array, $where_array);
1531
- }
1532
- } else{
1533
- $img_url = $provider['img_url'];
1534
- $img_slug = sanitize_title($provider_name);
1535
- $img = wc_advanced_shipment_tracking()->get_plugin_path().'/assets/shipment-provider-img/'.$img_slug.'.png';
1536
-
1537
- $ch = curl_init();
1538
-
1539
- curl_setopt($ch, CURLOPT_HEADER, 0);
1540
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
1541
- curl_setopt($ch, CURLOPT_URL, $img_url);
1542
 
1543
- $data = curl_exec($ch);
1544
- curl_close($ch);
1545
 
1546
- file_put_contents($img, $data);
1547
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1548
 
1549
- $data_array = array(
1550
- 'shipping_country' => sanitize_text_field($shipping_country),
1551
- 'provider_name' => sanitize_text_field($provider_name),
1552
- 'ts_slug' => $ts_slug,
1553
- 'provider_url' => sanitize_text_field($provider_url),
1554
- 'display_in_order' => 0,
1555
- 'shipping_default' => 1,
1556
- );
1557
- $result = $wpdb->insert( $this->table, $data_array );
 
 
1558
  }
1559
- }
1560
- foreach($default_shippment_providers as $db_provider){
1561
-
1562
- if(!isset($providers_name[$db_provider->provider_name])){
1563
- $where = array(
1564
- 'provider_name' => $db_provider->provider_name,
1565
- 'shipping_default' => 1
1566
- );
1567
- $wpdb->delete( $this->table, $where );
1568
  }
1569
- }
1570
  }
 
1571
  /*
1572
  * Display admin notice on plugin install or update
1573
  */
@@ -1577,26 +1625,303 @@ class WC_Advanced_Shipment_Tracking_Install {
1577
  }
1578
  ?>
1579
  <style>
1580
- </style>
1581
- <div data-dismissible="disable-ts-notice-new-forever" class="notice updated is-dismissible ast-admin-notice">
1582
- <div class="ast-admin-notice-inner">
1583
- <div class="ast-admin-notice-icon">
1584
- <img class="notice-logo" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url().'/assets/images/trackship-400.png'; ?>" alt="Trackship Logo" />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1585
  </div>
 
 
 
 
 
 
 
 
 
1586
 
1587
- <div class="ast-admin-notice-content">
1588
- <h3><?php esc_html_e( 'Thanks for using the Advanced Shipment Tracking!', 'woo-advanced-shipment-tracking' ); ?></h3>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1589
  <p>
1590
- <p><?php esc_html_e( 'Add TrackShip integration and automate your post shipping operations!', 'woo-advanced-shipment-tracking' ); ?></p>
1591
- <a href="https://trackship.info/" target="_blank"><?php esc_html_e( 'Try trackship with 50 free trackers >>', 'woo-advanced-shipment-tracking' ); ?></a>
1592
  </p>
1593
  </div>
1594
-
1595
- <div class="trackship-install-now">
1596
- <a class="button button-primary btn_green2 btn_large" href="https://trackship.info/" target="_blank"><?php esc_html_e( 'SIGNUP NOW', 'woo-advanced-shipment-tracking' ); ?></a>
1597
- </div>
1598
  </div>
1599
- </div>
1600
- <?php
1601
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1602
  }
11
  * @var object Class Instance
12
  */
13
  private static $instance;
14
+
15
  /**
16
  * Initialize the main plugin function
17
  */
35
 
36
  $this->init();
37
  }
38
+
39
  /**
40
  * Get the class instance
41
  *
49
 
50
  return self::$instance;
51
  }
52
+
53
  /*
54
  * init from parent mail class
55
  */
56
  public function init(){
57
+ add_action( 'init', array( $this, 'update_database_check'));
58
+ add_action( 'wp_ajax_ast_hide_admin_menu_tooltip', array( $this, 'ast_mark_admin_menu_tooltip_hidden') );
59
  $wc_ast_api_key = get_option('wc_ast_api_key');
60
+
61
  if(!$wc_ast_api_key){
62
+ add_action( 'adminmenu', array( $this, 'admin_notice_menu_tooltip') );
63
+ //require_once( 'vendor/persist-admin-notices-dismissal/persist-admin-notices-dismissal.php' );
64
+ //add_action( 'admin_init', array( 'PAnD', 'init' ) );
65
+ //add_action( 'admin_notices', array( $this, 'admin_notice_after_update' ) );
66
  }
67
  }
68
 
75
  *
76
  *
77
  */
78
+ public function woo_shippment_tracking_install(){
79
 
80
  global $wpdb;
81
 
82
+ // Add transient to trigger redirect.
83
+ set_transient( '_ast_activation_redirect', 1, 30 );
84
+
85
  $woo_shippment_table_name = $wpdb->prefix . 'woo_shippment_provider';
86
  $woo_shippment_status_email_table = $wpdb->prefix . 'woo_shipment_status_email';
87
  // create the ECPT metabox database table
140
  update_option( 'wc_advanced_shipment_tracking', '3.1');
141
  }
142
  }
143
+
144
  /**
145
  *
146
  * Return shipment provider list array
148
  */
149
  public function provider_list(){
150
  $providers = array(
151
+ 0 => array (
152
+ "provider_name" => 'Australia Post',
153
+ "ts_slug" => 'australia-post',
154
+ "provider_url" => 'http://auspost.com.au/track/track.html?id=%number%',
155
+ "shipping_country" => 'AU',
156
+ "shipping_default" => '1'
157
+ ),
158
+
159
+ 1 => array (
160
+ "provider_name" => 'Fastway AU',
161
+ "ts_slug" => 'fastway-au',
162
+ "provider_url" => 'http://www.fastway.com.au/courier-services/track-your-parcel?l=%number%',
163
+ "shipping_country" => 'AU',
164
+ "shipping_default" => '1'
165
+ ),
166
+
167
+ 2 => array (
168
+ "provider_name" => 'post.at',
169
+ "ts_slug" => 'post-at',
170
+ "provider_url" => 'http://www.post.at/sendungsverfolgung.php?pnum1=%number%',
171
+ "shipping_country" => 'AT',
172
+ "shipping_default" => '1'
173
+ ),
174
 
175
+ 3 => array (
176
+ "provider_name" => 'DHL at',
177
+ "ts_slug" => 'dhl-at',
178
+ "provider_url" => 'http://www.dhl.at/content/at/de/express/sendungsverfolgung.html?brand=DHL&AWB=%number%',
179
+ "shipping_country" => 'AT',
180
+ "shipping_default" => '1'
181
+ ),
 
 
 
 
 
 
 
 
182
 
183
+ 4 => array (
184
+ "provider_name" => 'DPD.at',
185
+ "ts_slug" => 'dpd-at',
186
+ "provider_url" => 'https://tracking.dpd.de/parcelstatus?locale=de_AT&query=%number%',
187
+ "shipping_country" => 'AT',
188
+ "shipping_default" => '1'
189
+ ),
190
 
191
+ 5 => array (
192
+ "provider_name" => 'Brazil Correios',
193
+ "ts_slug" => 'brazil-correios',
194
+ "provider_url" => 'http://websro.correios.com.br/sro_bin/txect01$.QueryList?P_LINGUA=001&P_TIPO=001&P_COD_UNI=%number%',
195
+ "shipping_country" => 'BR',
196
+ "shipping_default" => '1'
197
+ ),
198
 
199
+ 6 => array (
200
+ "provider_name" => 'Belgium Post',
201
+ "ts_slug" => 'belgium-post',
202
+ "provider_url" => 'https://track.bpost.be/btr/web/#/search?itemCode=%number%',
203
+ "shipping_country" => 'BE',
204
+ "shipping_default" => '1'
205
+ ),
206
 
207
+ 7 => array (
208
+ "provider_name" => 'Canada Post',
209
+ "ts_slug" => 'canada-post',
210
+ "provider_url" => 'http://www.canadapost.ca/cpotools/apps/track/personal/findByTrackNumber?trackingNumber=%number%',
211
+ "shipping_country" => 'CA',
212
+ "shipping_default" => '1'
213
+ ),
214
+
215
+ 8 => array (
216
+ "provider_name" => 'DHL cz',
217
+ "ts_slug" => 'dhl-cz',
218
+ "provider_url" => 'http://www.dhl.cz/cs/express/sledovani_zasilek.html?AWB=%number%',
219
+ "shipping_country" => 'CZ',
220
+ "shipping_default" => '1'
221
+ ),
222
+
223
+ 9 => array (
224
+ "provider_name" => 'DPD.cz',
225
+ "ts_slug" => 'dpd-cz',
226
+ "provider_url" => 'https://tracking.dpd.de/parcelstatus?locale=cs_CZ&query=%number%',
227
+ "shipping_country" => 'CZ',
228
+ "shipping_default" => '1'
229
+ ),
230
 
231
+ 10 => array (
232
+ "provider_name" => 'Colissimo',
233
+ "ts_slug" => 'colissimo',
234
+ "provider_url" => 'https://www.laposte.fr/outils/suivre-vos-envois?code=%number%',
235
+ "shipping_country" => 'FR',
236
+ "shipping_default" => '1'
237
+ ),
238
 
239
+ 11 => array (
240
+ "provider_name" => 'DHL Intraship (DE)',
241
+ "ts_slug" => 'dhl-intraship-de',
242
+ "provider_url" => 'http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc=%number%&rfn=&extendedSearch=true',
243
+ "shipping_country" => 'DE',
244
+ "shipping_default" => '1'
245
+ ),
246
 
247
+ 12 => array (
248
+ "provider_name" => 'Hermes Germany',
249
+ "ts_slug" => 'hermes-de',
250
+ "provider_url" => 'https://www.myhermes.de/empfangen/sendungsverfolgung/?suche=%number%',
251
+ "shipping_country" => 'DE',
252
+ "shipping_default" => '1'
253
+ ),
254
 
255
+ 13 => array (
256
+ "provider_name" => 'Deutsche Post DHL',
257
+ "ts_slug" => 'deutsche-post-dhl',
258
+ "provider_url" => 'http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc=%number%',
259
+ "shipping_country" => 'DE',
260
+ "shipping_default" => '1'
261
+ ),
262
 
263
+ 14 => array (
264
+ "provider_name" => 'UPS Germany',
265
+ "ts_slug" => 'ups-germany',
266
+ "provider_url" => 'http://wwwapps.ups.com/WebTracking/processInputRequest?sort_by=status&tracknums_displayed=1&TypeOfInquiryNumber=T&loc=de_DE&InquiryNumber1=%number%',
267
+ "shipping_country" => 'DE',
268
+ "shipping_default" => '1'
269
+ ),
270
 
271
+ 15 => array (
272
+ "provider_name" => 'DPD.de',
273
+ "ts_slug" => 'dpd-de',
274
+ "provider_url" => 'https://tracking.dpd.de/parcelstatus?query=%number%&locale=en_DE',
275
+ "shipping_country" => 'DE',
276
+ "shipping_default" => '1'
277
+ ),
278
 
279
+ 16 => array (
280
+ "provider_name" => 'DPD.ie',
281
+ "ts_slug" => 'dpd-ie',
282
+ "provider_url" => 'http://www2.dpd.ie/Services/QuickTrack/tabid/222/ConsignmentID/%number%/Default.aspx',
283
+ "shipping_country" => 'IE',
284
+ "shipping_default" => '1'
285
+ ),
286
 
287
+ 17 => array (
288
+ "provider_name" => 'DHL Express',
289
+ "ts_slug" => 'dhl-express',
290
+ "provider_url" => 'http://www.dhl.it/it/express/ricerca.html?AWB=%number%&brand=DHL',
291
+ "shipping_country" => 'Global',
292
+ "shipping_default" => '1'
293
+ ),
294
 
295
+ 18 => array (
296
+ "provider_name" => 'PostNL',
297
+ "ts_slug" => 'postnl',
298
+ "provider_url" => 'https://mijnpakket.postnl.nl/Claim?Barcode=%number%&Postalcode=%2$s&Foreign=False&ShowAnonymousLayover=False&CustomerServiceClaim=False',
299
+ "shipping_country" => 'NL',
300
+ "shipping_default" => '1'
301
+ ),
302
 
303
+ 19 => array (
304
+ "provider_name" => 'DPD.NL',
305
+ "ts_slug" => 'dpd-nl',
306
+ "provider_url" => 'http://track.dpdnl.nl/?parcelnumber=%number%',
307
+ "shipping_country" => 'NL',
308
+ "shipping_default" => '1'
309
+ ),
310
 
311
+ 20 => array (
312
+ "provider_name" => 'Fastway NZ',
313
+ "ts_slug" => 'fastway-nz',
314
+ "provider_url" => 'https://www.fastway.co.nz/tools/track?l=%number%',
315
+ "shipping_country" => 'NZ',
316
+ "shipping_default" => '1'
317
+ ),
318
 
319
+ 21 => array (
320
+ "provider_name" => 'DPD Romania',
321
+ "ts_slug" => 'dpd-romania',
322
+ "provider_url" => 'https://tracking.dpd.de/parcelstatus?query=%number%&locale=ro_RO',
323
+ "shipping_country" => 'RO',
324
+ "shipping_default" => '1'
325
+ ),
326
 
327
+ 22 => array (
328
+ "provider_name" => 'PostNord Sverige AB',
329
+ "ts_slug" => 'postnord-sverige-ab',
330
+ "provider_url" => 'http://www.postnord.se/sv/verktyg/sok/Sidor/spara-brev-paket-och-pall.aspx?search=%number%',
331
+ "shipping_country" => 'SE',
332
+ "shipping_default" => '1'
333
+ ),
334
 
335
+ 23 => array (
336
+ "provider_name" => 'DHL se',
337
+ "ts_slug" => 'dhl-se',
338
+ "provider_url" => 'http://www.dhl.se/content/se/sv/express/godssoekning.shtml?brand=DHL&AWB=%number%',
339
+ "shipping_country" => 'SE',
340
+ "shipping_default" => '1'
341
+ ),
342
 
343
+ 24 => array (
344
+ "provider_name" => 'UPS.se',
345
+ "ts_slug" => 'ups-se',
346
+ "provider_url" => 'http://wwwapps.ups.com/WebTracking/track?track=yes&loc=sv_SE&trackNums=%number%',
347
+ "shipping_country" => 'SE',
348
+ "shipping_default" => '1'
349
+ ),
350
 
351
+ 25 => array (
352
+ "provider_name" => 'DHL uk',
353
+ "ts_slug" => 'dhl-uk',
354
+ "provider_url" => 'http://www.dhl.com/content/g0/en/express/tracking.shtml?brand=DHL&AWB=%number%',
355
+ "shipping_country" => 'GB',
356
+ "shipping_default" => '1'
357
+ ),
358
 
359
+ 26 => array (
360
+ "provider_name" => 'DPD.co.uk',
361
+ "ts_slug" => 'dpd-co-uk',
362
+ "provider_url" => 'http://www.dpd.co.uk/tracking/trackingSearch.do?search.searchType=0&search.parcelNumber=%number%',
363
+ "shipping_country" => 'GB',
364
+ "shipping_default" => '1'
365
+ ),
366
 
367
+ 27 => array (
368
+ "provider_name" => 'InterLink',
369
+ "ts_slug" => 'interlink',
370
+ "provider_url" => 'http://www.interlinkexpress.com/apps/tracking/?reference=%number%&postcode=%2$s#results',
371
+ "shipping_country" => 'GB',
372
+ "shipping_default" => '1'
373
+ ),
374
 
375
+ 28 => array (
376
+ "provider_name" => 'ParcelForce',
377
+ "ts_slug" => 'parcelforce',
378
+ "provider_url" => 'http://www.parcelforce.com/portal/pw/track?trackNumber=%number%',
379
+ "shipping_country" => 'GB',
380
+ "shipping_default" => '1'
381
+ ),
382
 
383
+ 29 => array (
384
+ "provider_name" => 'Royal Mail',
385
+ "ts_slug" => 'royal-mail',
386
+ "provider_url" => 'https://www.royalmail.com/track-your-item/?trackNumber=%number%',
387
+ "shipping_country" => 'GB',
388
+ "shipping_default" => '1'
389
+ ),
390
 
391
+ 30 => array (
392
+ "provider_name" => 'Fedex',
393
+ "ts_slug" => 'fedex',
394
+ "provider_url" => 'http://www.fedex.com/Tracking?action=track&tracknumbers=%number%',
395
+ "shipping_country" => 'US',
396
+ "shipping_default" => '1'
397
+ ),
398
 
399
+ 31 => array (
400
+ "provider_name" => 'FedEx Sameday',
401
+ "ts_slug" => 'fedex-sameday',
402
+ "provider_url" => 'https://www.fedexsameday.com/fdx_dotracking_ua.aspx?tracknum=%number%',
403
+ "shipping_country" => 'US',
404
+ "shipping_default" => '1'
405
+ ),
406
 
407
+ 32 => array (
408
+ "provider_name" => 'OnTrac',
409
+ "ts_slug" => 'ontrac',
410
+ "provider_url" => 'http://www.ontrac.com/trackingdetail.asp?tracking=%number%',
411
+ "shipping_country" => 'US',
412
+ "shipping_default" => '1'
413
+ ),
414
 
415
+ 33 => array (
416
+ "provider_name" => 'UPS',
417
+ "ts_slug" => 'ups',
418
+ "provider_url" => 'http://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=%number%',
419
+ "shipping_country" => 'US',
420
+ "shipping_default" => '1'
421
+ ),
422
 
423
+ 34 => array (
424
+ "provider_name" => 'USPS',
425
+ "ts_slug" => 'usps',
426
+ "provider_url" => 'https://tools.usps.com/go/TrackConfirmAction_input?qtc_tLabels1=%number%',
427
+ "shipping_country" => 'US',
428
+ "shipping_default" => '1'
429
+ ),
430
 
431
+ 35 => array (
432
+ "provider_name" => 'DHL US',
433
+ "ts_slug" => 'dhl-us',
434
+ "provider_url" => 'https://www.logistics.dhl/us-en/home/tracking/tracking-ecommerce.html?tracking-id=%number%',
435
+ "shipping_country" => 'US',
436
+ "shipping_default" => '1'
437
+ ),
438
 
439
+ 36 => array (
440
+ "provider_name" => 'LaserShip',
441
+ "ts_slug" => 'lasership',
442
+ "provider_url" => 'https://www.lasership.com/track.php?track_number_input=%number%',
443
+ "shipping_country" => 'US',
444
+ "shipping_default" => '1'
445
+ ),
446
+ 37 => array (
447
+ "provider_name" => 'GSO',
448
+ "ts_slug" => 'gso',
449
+ "provider_url" => 'https://www.gso.com/tracking',
450
+ "shipping_country" => 'US',
451
+ "shipping_default" => '1'
452
+ ),
453
+ 38 => array (
454
+ "provider_name" => 'ABF',
455
+ "ts_slug" => 'abf',
456
+ "provider_url" => 'https://arcb.com/tools/tracking.html',
457
+ "shipping_country" => 'IN',
458
+ "shipping_default" => '1'
459
+ ),
460
+ 39 => array (
461
+ "provider_name" => 'Associated Global Systems',
462
+ "ts_slug" => 'associated-global-systems',
463
+ "provider_url" => 'https://tracking.agsystems.com/',
464
+ "shipping_country" => 'US',
465
+ "shipping_default" => '1'
466
+ ),
467
+ 40 => array (
468
+ "provider_name" => 'APC',
469
+ "ts_slug" => 'apc',
470
+ "provider_url" => 'https://us.mytracking.net/APC/track/TrackDetails.aspx?t=%number%',
471
+ "shipping_country" => 'US',
472
+ "shipping_default" => '1'
473
+ ),
474
+ 41 => array (
475
+ "provider_name" => 'ArrowXL',
476
+ "ts_slug" => 'arrowxl',
477
+ "provider_url" => 'https://askaxl.co.uk/tracking?upi=%number%',
478
+ "shipping_country" => 'GB',
479
+ "shipping_default" => '1'
480
+ ),
481
+ 42 => array (
482
+ "provider_name" => 'Dai Post',
483
+ "ts_slug" => 'dai-post',
484
+ "provider_url" => 'https://daiglobaltrack.com/tracking.aspx?custtracknbr=%number%',
485
+ "shipping_country" => 'AU',
486
+ "shipping_default" => '1'
487
+ ),
488
+ 43 => array (
489
+ "provider_name" => 'Deliv',
490
+ "ts_slug" => 'deliv',
491
+ "provider_url" => 'https://tracking.deliv.co/',
492
+ "shipping_country" => 'US',
493
+ "shipping_default" => '1'
494
+ ),
495
+ 44 => array (
496
+ "provider_name" => 'India Post',
497
+ "ts_slug" => 'india-post',
498
+ "provider_url" => 'https://www.indiapost.gov.in/_layouts/15/dop.portal.tracking/trackconsignment.aspx',
499
+ "shipping_country" => 'IN',
500
+ "shipping_default" => '1'
501
+ ),
502
+ 45 => array (
503
+ "provider_name" => 'Israel Post',
504
+ "ts_slug" => 'israel-post',
505
+ "provider_url" => 'https://mypost.israelpost.co.il/itemtrace?itemcode=%number%',
506
+ "shipping_country" => 'IL',
507
+ "shipping_default" => '1'
508
+ ),
509
+ 46 => array (
510
+ "provider_name" => 'Boxberry',
511
+ "ts_slug" => 'boxberry',
512
+ "provider_url" => 'https://boxberry.ru/tracking/',
513
+ "shipping_country" => 'RU',
514
+ "shipping_default" => '1'
515
+ ),
516
+ 47 => array (
517
+ "provider_name" => 'Canpar',
518
+ "ts_slug" => 'canpar',
519
+ "provider_url" => 'https://www.canpar.ca/en/track/tracking.jsp',
520
+ "shipping_country" => 'CA',
521
+ "shipping_default" => '1'
522
+ ),
523
+ 48 => array (
524
+ "provider_name" => 'China Post',
525
+ "ts_slug" => 'china-post',
526
+ "provider_url" => 'http://parcelsapp.com/en/tracking/%number%',
527
+ "shipping_country" => 'CN',
528
+ "shipping_default" => '1'
529
+ ),
530
+ 49 => array (
531
+ "provider_name" => 'Chronopost',
532
+ "ts_slug" => 'chronopost',
533
+ "provider_url" => 'https://www.chronopost.fr/fr/chrono_suivi_search?listeNumerosLT=%number%',
534
+ "shipping_country" => 'FR',
535
+ "shipping_default" => '1'
536
+ ),
537
+ 50 => array (
538
+ "provider_name" => 'Colis Privé',
539
+ "ts_slug" => 'colis-prive',
540
+ "provider_url" => 'https://www.colisprive.fr/',
541
+ "shipping_country" => 'FR',
542
+ "shipping_default" => '1'
543
+ ),
544
+ 51 => array (
545
+ "provider_name" => 'Correos Chile',
546
+ "ts_slug" => 'correos-chile',
547
+ "provider_url" => 'https://seguimientoenvio.correos.cl/home/index/%number%',
548
+ "shipping_country" => 'CL',
549
+ "shipping_default" => '1'
550
+ ),
551
+ 52 => array (
552
+ "provider_name" => 'Correos Costa Rica',
553
+ "ts_slug" => 'correos-costa-rica',
554
+ "provider_url" => 'https://www.correos.go.cr/rastreo/consulta_envios/rastreo.aspx',
555
+ "shipping_country" => 'CR',
556
+ "shipping_default" => '1'
557
+ ),
558
+ 53 => array (
559
+ "provider_name" => 'CouriersPlease',
560
+ "ts_slug" => 'couriersplease',
561
+ "provider_url" => 'https://www.couriersplease.com.au/tools-track/no/%number%',
562
+ "shipping_country" => 'AU',
563
+ "shipping_default" => '1'
564
+ ),
565
+ 54 => array (
566
+ "provider_name" => 'Delhivery',
567
+ "ts_slug" => 'delhivery',
568
+ "provider_url" => 'https://www.delhivery.com/track/package/%number%',
569
+ "shipping_country" => 'IN',
570
+ "shipping_default" => '1'
571
+ ),
572
+ 55 => array (
573
+ "provider_name" => 'Deutsche Post',
574
+ "ts_slug" => 'deutsche-post',
575
+ "provider_url" => 'https://www.deutschepost.de/sendung/simpleQuery.html',
576
+ "shipping_country" => 'DE',
577
+ "shipping_default" => '1'
578
+ ),
579
+ 56 => array (
580
+ "provider_name" => 'Direct Link',
581
+ "ts_slug" => 'direct-link',
582
+ "provider_url" => 'https://tracking.directlink.com/?itemNumber=%number%',
583
+ "shipping_country" => 'DE',
584
+ "shipping_default" => '1'
585
+ ),
586
+ 57 => array (
587
+ "provider_name" => 'EC Firstclass',
588
+ "ts_slug" => 'ec-firstclass',
589
+ "provider_url" => 'http://www.ec-firstclass.org/Details.aspx',
590
+ "shipping_country" => 'US',
591
+ "shipping_default" => '1'
592
+ ),
593
+ 58 => array (
594
+ "provider_name" => 'Ecom Express',
595
+ "ts_slug" => 'ecom-express',
596
+ "provider_url" => 'https://ecomexpress.in/tracking/?tflag=0&awb_field=%number%',
597
+ "shipping_country" => 'IN',
598
+ "shipping_default" => '1'
599
+ ),
600
+ 59 => array (
601
+ "provider_name" => 'EMS',
602
+ "ts_slug" => 'ems',
603
+ "provider_url" => 'https://www.ems.post/en/global-network/tracking',
604
+ "shipping_country" => 'CN',
605
+ "shipping_default" => '1'
606
+ ),
607
+ 60 => array (
608
+ "provider_name" => 'Hong Kong Post',
609
+ "ts_slug" => 'hong-kong-post',
610
+ "provider_url" => 'https://www.hongkongpost.hk/en/mail_tracking/index.html',
611
+ "shipping_country" => 'HK',
612
+ "shipping_default" => '1'
613
+ ),
614
+ 61 => array (
615
+ "provider_name" => 'JP Post',
616
+ "ts_slug" => 'jp-post',
617
+ "provider_url" => 'https://trackings.post.japanpost.jp/services/srv/sequenceNoSearch/?requestNo=%number%&count=100&sequenceNoSearch.x=94&sequenceNoSearch.y=10&locale=en',
618
+ "shipping_country" => 'JP',
619
+ "shipping_default" => '1'
620
+ ),
621
+ 62 => array (
622
+ "provider_name" => 'La Poste',
623
+ "ts_slug" => 'la-poste',
624
+ "provider_url" => 'https://www.laposte.fr/particulier/outils/en/track-a-parcel',
625
+ "shipping_country" => 'FR',
626
+ "shipping_default" => '1'
627
+ ),
628
+ 63 => array (
629
+ "provider_name" => 'Latvijas Pasts',
630
+ "ts_slug" => 'latvijas-pasts',
631
+ "provider_url" => 'https://www.pasts.lv/en/Category/Tracking_of_Postal_Items/',
632
+ "shipping_country" => 'LV',
633
+ "shipping_default" => '1'
634
+ ),
635
+ 64 => array (
636
+ "provider_name" => 'Ninja Van',
637
+ "ts_slug" => 'ninja-van',
638
+ "provider_url" => 'https://www.ninjavan.co/en-sg/?tracking_id=%number%',
639
+ "shipping_country" => 'SG',
640
+ "shipping_default" => '1'
641
+ ),
642
+ 65 => array (
643
+ "provider_name" => 'Singapore Post',
644
+ "ts_slug" => 'singapore-post',
645
+ "provider_url" => 'https://www.singpost.com/track-items',
646
+ "shipping_country" => 'SG',
647
+ "shipping_default" => '1'
648
+ ),
649
+ 66 => array (
650
+ "provider_name" => 'StarTrack',
651
+ "ts_slug" => 'startrack',
652
+ "provider_url" => 'https://sttrackandtrace.startrack.com.au/%number%',
653
+ "shipping_country" => 'AU',
654
+ "shipping_default" => '1'
655
+ ),
656
+ 67 => array (
657
+ "provider_name" => 'Ukrposhta',
658
+ "ts_slug" => 'ukrposhta',
659
+ "provider_url" => 'http://ukrposhta.ua/en/vidslidkuvati-forma-poshuku',
660
+ "shipping_country" => 'UA',
661
+ "shipping_default" => '1'
662
+ ),
663
+ 68 => array (
664
+ "provider_name" => 'UPS i-parcel',
665
+ "ts_slug" => 'ups-i-parcel',
666
+ "provider_url" => 'https://tracking.i-parcel.com/?TrackingNumber=%number%',
667
+ "shipping_country" => 'US',
668
+ "shipping_default" => '1'
669
+ ),
670
+ 69 => array (
671
+ "provider_name" => 'DTDC',
672
+ "ts_slug" => 'dtdc',
673
+ "provider_url" => 'http://www.dtdc.in/tracking/tracking_results.asp?Ttype=awb_no&strCnno=%number%&TrkType2=awb_no',
674
+ "shipping_country" => 'IN',
675
+ "shipping_default" => '1'
676
+ ),
677
+ 70 => array (
678
+ "provider_name" => 'DHL Parcel',
679
+ "ts_slug" => 'dhl-parcel',
680
+ "provider_url" => 'https://www.logistics.dhl/us-en/home/tracking/tracking-ecommerce.html?tracking-id=%number%',
681
+ "shipping_country" => 'US',
682
+ "shipping_default" => '1'
683
+ ),
684
+ 71 => array (
685
+ "provider_name" => 'An Post',
686
+ "ts_slug" => 'an-post',
687
+ "provider_url" => 'https://www.anpost.com/Post-Parcels/Track/History?item=%number%',
688
+ "shipping_country" => 'IE',
689
+ "shipping_default" => '1'
690
+ ),
691
+ 72 => array (
692
+ "provider_name" => 'Mondial Relay',
693
+ "ts_slug" => 'mondial-relay',
694
+ "provider_url" => 'https://www.mondialrelay.fr/suivi-de-colis?numeroExpedition=%number%',
695
+ "shipping_country" => 'FR',
696
+ "shipping_default" => '1'
697
+ ),
698
+ 73 => array (
699
+ "provider_name" => 'Swiss Post',
700
+ "ts_slug" => 'swiss-post',
701
+ "provider_url" => 'https://service.post.ch/EasyTrack/submitParcelData.do?p_language=en&formattedParcelCodes=%number%',
702
+ "shipping_country" => 'CH',
703
+ "shipping_default" => '1'
704
+ ),
705
+ 74 => array (
706
+ "provider_name" => 'S.F Express',
707
+ "ts_slug" => 's-f-express',
708
+ "provider_url" => 'http://www.sf-express.com/cn/en/dynamic_function/waybill/#search/bill-number/%number%',
709
+ "shipping_country" => 'CN',
710
+ "shipping_default" => '1'
711
+ ),
712
+ 75 => array (
713
+ "provider_name" => 'ePacket',
714
+ "ts_slug" => 'epacket',
715
+ "provider_url" => 'http://www.ems.com.cn/english.html',
716
+ "shipping_country" => 'CN',
717
+ "shipping_default" => '1'
718
+ ),
719
+ 76 => array (
720
+ "provider_name" => 'DTDC Plus',
721
+ "ts_slug" => 'dtdc-plus',
722
+ "provider_url" => 'http://www.dtdc.in/tracking/tracking_results.asp?Ttype=awb_no&strCnno=&TrkType2=awb_no',
723
+ "shipping_country" => 'IN',
724
+ "shipping_default" => '1'
725
+ ),
726
+ 77 => array (
727
+ "provider_name" => 'DHLParcel NL',
728
+ "ts_slug" => 'dhlparcel-nl',
729
+ "provider_url" => 'https://www.logistics.dhl/nl-en/home/tracking/tracking-parcel.html?tracking-id=%number%',
730
+ "shipping_country" => 'NL',
731
+ "shipping_default" => '1'
732
+ ),
733
+ 78 => array (
734
+ "provider_name" => 'TNT',
735
+ "ts_slug" => 'tnt',
736
+ "provider_url" => 'https://www.tnt.com/?searchType=con&cons=%number%',
737
+ "shipping_country" => 'US',
738
+ "shipping_default" => '1'
739
+ ),
740
+ 79 => array (
741
+ "provider_name" => 'Australia EMS',
742
+ "ts_slug" => 'australia-ems',
743
+ "provider_url" => 'https://auspost.com.au/mypost/track/#/details/%number%',
744
+ "shipping_country" => 'AU',
745
+ "shipping_default" => '1'
746
+ ),
747
+ 80 => array (
748
+ "provider_name" => 'Bangladesh EMS',
749
+ "ts_slug" => 'bangladesh-ems',
750
+ "provider_url" => 'http://www.bangladeshpost.gov.bd/tracking.html',
751
+ "shipping_country" => 'BD',
752
+ "shipping_default" => '1'
753
+ ),
754
+ 81 => array (
755
+ "provider_name" => 'Colombia Post',
756
+ "ts_slug" => 'colombia-post',
757
+ "provider_url" => 'http://www.4-72.com.co/',
758
+ "shipping_country" => 'CO',
759
+ "shipping_default" => '1'
760
+ ),
761
+ 82 => array (
762
+ "provider_name" => 'Costa Rica Post',
763
+ "ts_slug" => 'costa-rica-post',
764
+ "provider_url" => 'https://www.correos.go.cr/rastreo/consulta_envios/',
765
+ "shipping_country" => 'CR',
766
+ "shipping_default" => '1'
767
+ ),
768
+ 83 => array (
769
+ "provider_name" => 'Croatia Post',
770
+ "ts_slug" => 'croatia-post',
771
+ "provider_url" => 'https://www.posta.hr/tracktrace.aspx?broj=%number%',
772
+ "shipping_country" => 'HR',
773
+ "shipping_default" => '1'
774
+ ),
775
+ 84 => array (
776
+ "provider_name" => 'Cyprus Post',
777
+ "ts_slug" => 'cyprus-post',
778
+ "provider_url" => 'https://www.cypruspost.post/en/track-n-trace-results?code=%number%',
779
+ "shipping_country" => 'CY',
780
+ "shipping_default" => '1'
781
+ ),
782
+ 85 => array (
783
+ "provider_name" => 'Denmark Post',
784
+ "ts_slug" => 'denmark-post',
785
+ "provider_url" => 'https://www.postnord.dk/en/track-and-trace#dynamicloading=true&shipmentid=%number%',
786
+ "shipping_country" => 'DK',
787
+ "shipping_default" => '1'
788
+ ),
789
+ 86 => array (
790
+ "provider_name" => 'Estonia Post',
791
+ "ts_slug" => 'estonia-post',
792
+ "provider_url" => 'https://www.omniva.ee/private/track_and_trace',
793
+ "shipping_country" => 'EE',
794
+ "shipping_default" => '1'
795
+ ),
796
+ 87 => array (
797
+ "provider_name" => 'France EMS - Chronopost',
798
+ "ts_slug" => 'france-ems-chronopost',
799
+ "provider_url" => 'https://www.chronopost.fr/tracking-no-cms/suivi-page?listeNumerosLT=%number%',
800
+ "shipping_country" => 'FR',
801
+ "shipping_default" => '1'
802
+ ),
803
+ 88 => array (
804
+ "provider_name" => 'Ivory Coast EMS',
805
+ "ts_slug" => 'ivory-coast-ems',
806
+ "provider_url" => 'https://laposte.ci.post/tracking-colis?identifiant=%number%',
807
+ "shipping_country" => 'CI',
808
+ "shipping_default" => '1'
809
+ ),
810
+ 89 => array (
811
+ "provider_name" => 'Korea Post',
812
+ "ts_slug" => 'korea-post',
813
+ "provider_url" => 'https://service.epost.go.kr/trace.RetrieveEmsRigiTraceList.comm?ems_gubun=E&sid1=&POST_CODE=%number%',
814
+ "shipping_country" => 'KR',
815
+ "shipping_default" => '1'
816
+ ),
817
+ 90 => array (
818
+ "provider_name" => 'Monaco EMS',
819
+ "ts_slug" => 'monaco-ems',
820
+ "provider_url" => 'http://www.lapostemonaco.mc',
821
+ "shipping_country" => 'MC',
822
+ "shipping_default" => '1'
823
+ ),
824
+ 91 => array (
825
+ "provider_name" => 'Overseas Territory FR EMS',
826
+ "ts_slug" => 'overseas-territory-fr-ems',
827
+ "provider_url" => 'https://www.chronopost.fr/tracking-no-cms/suivi-page?listeNumerosLT=%number%',
828
+ "shipping_country" => 'FR',
829
+ "shipping_default" => '1'
830
+ ),
831
+ 92 => array (
832
+ "provider_name" => 'Portugal Post - CTT',
833
+ "ts_slug" => 'portugal-post-ctt',
834
+ "provider_url" => 'http://www.ctt.pt/feapl_2/app/open/objectSearch/objectSearch.jspx',
835
+ "shipping_country" => 'PT',
836
+ "shipping_default" => '1'
837
+ ),
838
+ 93 => array (
839
+ "provider_name" => 'South African Post Office',
840
+ "ts_slug" => 'south-african-post-office',
841
+ "provider_url" => 'http://www.southafricanpostoffice.post/index.html',
842
+ "shipping_country" => 'ZA',
843
+ "shipping_default" => '1'
844
+ ),
845
+ 94 => array (
846
+ "provider_name" => 'Ukraine EMS',
847
+ "ts_slug" => 'ukraine-ems',
848
+ "provider_url" => 'http://dpsz.ua/en/track/ems',
849
+ "shipping_country" => 'UA',
850
+ "shipping_default" => '1'
851
+ ),
852
+ 95 => array (
853
+ "provider_name" => 'TNT Italy',
854
+ "ts_slug" => 'tnt-italy',
855
+ "provider_url" => 'https://www.tnt.it/tracking/Tracking.do',
856
+ "shipping_country" => 'IT',
857
+ "shipping_default" => '1'
858
+ ),
859
+ 96 => array (
860
+ "provider_name" => 'TNT France',
861
+ "ts_slug" => 'tnt-france',
862
+ "provider_url" => 'https://www.tnt.fr/public/suivi_colis/recherche/visubontransport.do',
863
+ "shipping_country" => 'FR',
864
+ "shipping_default" => '1'
865
+ ),
866
+ 97 => array (
867
+ "provider_name" => 'TNT UK',
868
+ "ts_slug" => 'tnt-uk',
869
+ "provider_url" => 'https://www.tnt.com/?searchType=con&cons=%number%',
870
+ "shipping_country" => 'GB',
871
+ "shipping_default" => '1'
872
+ ),
873
+ 98 => array (
874
+ "provider_name" => 'Aliexpress Standard Shipping',
875
+ "ts_slug" => 'aliexpress-standard-shipping',
876
+ "provider_url" => 'https://global.cainiao.com/detail.htm?mailNoList=LP00139185155139',
877
+ "shipping_country" => 'Global',
878
+ "shipping_default" => '1'
879
+ ),
880
+ 99 => array (
881
+ "provider_name" => 'Speedex Courier',
882
+ "ts_slug" => 'speedex-courier',
883
+ "provider_url" => 'http://www.speedexcourier.com/',
884
+ "shipping_country" => 'US',
885
+ "shipping_default" => '1'
886
+ ),
887
+ 100 => array (
888
+ "provider_name" => 'TNT Reference',
889
+ "ts_slug" => 'tnt-reference',
890
+ "provider_url" => 'https://www.tnt.com/express/en_gb/site/shipping-tools/tracking.html?searchType=con&cons=%number%',
891
+ "shipping_country" => 'GB',
892
+ "shipping_default" => '1'
893
+ ),
894
+ 101 => array (
895
+ "provider_name" => 'TNT Click',
896
+ "ts_slug" => 'tnt-click',
897
+ "provider_url" => 'https://www.tnt-click.it/',
898
+ "shipping_country" => 'IT',
899
+ "shipping_default" => '1'
900
+ ),
901
+ 102 => array (
902
+ "provider_name" => 'TNT Australia',
903
+ "ts_slug" => 'tnt-australia',
904
+ "provider_url" => 'https://www.tnt.com/express/en_au/site/shipping-tools/tracking.html?respCountry=au&respLang=en&cons=%number%',
905
+ "shipping_country" => 'AU',
906
+ "shipping_default" => '1'
907
+ ),
908
+ 103 => array (
909
+ "provider_name" => 'DHL Freight',
910
+ "ts_slug" => 'dhl-freight',
911
+ "provider_url" => 'https://www.logistics.dhl/global-en/home/tracking/tracking-freight.html?tracking-id=%number%',
912
+ "shipping_country" => 'Global',
913
+ "shipping_default" => '1'
914
+ ),
915
+ 104 => array (
916
+ "provider_name" => 'Sendle',
917
+ "ts_slug" => 'sendle',
918
+ "provider_url" => 'https://track.sendle.com/tracking?ref=%number%',
919
+ "shipping_country" => 'AU',
920
+ "shipping_default" => '1'
921
+ ),
922
+ 105 => array (
923
+ "provider_name" => 'Deppon',
924
+ "ts_slug" => 'deppon',
925
+ "provider_url" => 'https://www.deppon.com/en/toTrack.action',
926
+ "shipping_country" => 'CN',
927
+ "shipping_default" => '1',
928
+ ),
929
+ 106 => array (
930
+ "provider_name" => 'GLS Italy',
931
+ "ts_slug" => 'gls-italy',
932
+ "provider_url" => 'https://www.gls-italy.com/?option=com_gls&view=track_e_trace&mode=search&numero_spedizione=%number%&tipo_codice=nazionale',
933
+ "shipping_country" => 'IT',
934
+ "shipping_default" => '1',
935
+ ),
936
+ 107 => array (
937
+ "provider_name" => 'Hermes World',
938
+ "ts_slug" => 'hermes',
939
+ "provider_url" => 'https://new.myhermes.co.uk/track.html#/parcel/%number%/details',
940
+ "shipping_country" => 'Global',
941
+ "shipping_default" => '1',
942
+ ),
943
+ );
944
+ return $providers;
 
945
  }
946
+
947
  /*
948
  * database update
949
  */
950
  public function update_database_check(){
951
  if ( is_admin() ){
952
+
953
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'1.2', '>=') ){
954
  }
955
  else{
960
  }
961
  update_option( 'wc_advanced_shipment_tracking', '1.2');
962
  }
963
+
964
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'1.3', '>=') ){
965
  }
966
  else{
971
  }
972
  update_option( 'wc_advanced_shipment_tracking', '1.3');
973
  }
974
+
975
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'1.4', '>=') ){
976
  }
977
  else{
999
  }
1000
  update_option( 'wc_advanced_shipment_tracking', '1.4');
1001
  }
1002
+
1003
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'1.5', '>=') ){
1004
  }
1005
  else{
1012
  }
1013
  update_option( 'wc_advanced_shipment_tracking', '1.5');
1014
  }
1015
+
1016
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'2.4', '<') ){
1017
  global $wpdb;
1018
  $woo_shippment_table_name = $wpdb->prefix . 'woo_shippment_provider';
1049
  }
1050
  update_option( 'wc_advanced_shipment_tracking', '2.4');
1051
  }
1052
+
1053
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'2.5', '<') ){
1054
  global $wpdb;
1055
  $woo_shippment_table_name = $wpdb->prefix . 'woo_shippment_provider';
1063
  $result = $wpdb->update( $woo_shippment_table_name, $data_array, $where_array );
1064
  update_option( 'wc_advanced_shipment_tracking', '2.5');
1065
  }
1066
+
1067
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'2.6', '<') ){
1068
  global $wpdb;
1069
  $woo_shippment_table_name = $wpdb->prefix . 'woo_shippment_provider';
1103
  "shipping_default" => $provider['shipping_default'],
1104
  ));
1105
  update_option( 'wc_advanced_shipment_tracking', '2.7');
1106
+ }
1107
+
1108
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'2.8', '<') ){
1109
  global $wpdb;
1110
  $woo_shippment_table_name = $wpdb->prefix . 'woo_shippment_provider';
1462
 
1463
  update_option( 'wc_advanced_shipment_tracking', '2.9');
1464
  }
1465
+
1466
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'3.0', '<') ){
1467
  global $wpdb;
1468
  $new_providers = array (
1488
  }
1489
  update_option( 'wc_advanced_shipment_tracking', '3.0');
1490
  }
1491
+
1492
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'3.1', '<') ){
1493
  $this->update_shipping_providers();
1494
  update_option( 'wc_advanced_shipment_tracking', '3.1');
1495
  }
1496
+
1497
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'3.2', '<') ){
1498
  $this->update_shipping_providers();
1499
  update_option( 'wc_advanced_shipment_tracking', '3.2');
1500
  }
1501
+
1502
  if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'3.3', '<') ){
1503
  global $wpdb;
1504
  $results = $wpdb->get_row( "SELECT * FROM {$this->table} LIMIT 1");
1508
  $this->update_shipping_providers();
1509
  update_option( 'wc_advanced_shipment_tracking', '3.3');
1510
  }
1511
+ if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'3.4', '<') ){
1512
+ $multi_checkbox_data = get_option('wc_ast_unclude_tracking_info');
1513
+ $data_array = array('completed' => 1);
1514
+ if($multi_checkbox_data){
1515
+ $data_array = array_merge($multi_checkbox_data,$data_array);
1516
+ }
1517
+ update_option( 'wc_ast_unclude_tracking_info', $data_array );
1518
+ update_option( 'wc_advanced_shipment_tracking', '3.4');
1519
+ }
1520
+ if(version_compare(get_option( 'wc_advanced_shipment_tracking' ),'3.5', '<') ){
1521
+ $multi_checkbox_data = get_option('wc_ast_unclude_tracking_info');
1522
+ $data_array = array('partial-shipped' => 1);
1523
+ if($multi_checkbox_data){
1524
+ $data_array = array_merge($multi_checkbox_data,$data_array);
1525
+ }
1526
+ update_option( 'wc_ast_unclude_tracking_info', $data_array );
1527
+ update_option( 'wc_advanced_shipment_tracking', '3.5');
1528
+ }
1529
  }
1530
  }
1531
 
1532
+ /**
1533
+ * get providers list from trackship and update providers in database
1534
+ */
1535
  public function update_shipping_providers(){
1536
  global $wpdb;
1537
  $url = 'https://trackship.info/wp-json/WCAST/v1/Provider';
1538
  $resp = wp_remote_get( $url );
 
 
 
 
 
1539
 
1540
+ if ( is_array( $resp ) && ! is_wp_error( $resp ) ) {
 
 
 
 
 
 
1541
 
1542
+ $providers = json_decode($resp['body'],true);
1543
 
1544
+ $providers_name = array();
 
 
 
1545
 
1546
+ $default_shippment_providers = $wpdb->get_results( "SELECT * FROM $this->table WHERE shipping_default = 1" );
1547
+
1548
+ foreach ( $default_shippment_providers as $key => $val ){
1549
+ $shippment_providers[ $val->provider_name ] = $val;
1550
+ }
1551
+
1552
+ foreach ( $providers as $key => $val ){
1553
+ $providers_name[ $val['provider_name'] ] = $val;
1554
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1555
 
1556
+ foreach($providers as $provider){
 
1557
 
1558
+ $provider_name = $provider['shipping_provider'];
1559
+ $provider_url = $provider['provider_url'];
1560
+ $shipping_country = $provider['shipping_country'];
1561
+ $ts_slug = $provider['shipping_provider_slug'];
1562
+
1563
+ if(isset($shippment_providers[$provider_name])){
1564
+ $db_provider_url = $shippment_providers[$provider_name]->provider_url;
1565
+ $db_shipping_country = $shippment_providers[$provider_name]->shipping_country;
1566
+ $db_ts_slug = $shippment_providers[$provider_name]->ts_slug;
1567
+ if(($db_provider_url != $provider_url) || ($db_shipping_country != $shipping_country) || ($db_ts_slug != $ts_slug)){
1568
+ $data_array = array(
1569
+ 'ts_slug' => $ts_slug,
1570
+ 'provider_url' => $provider_url,
1571
+ 'shipping_country' => $shipping_country,
1572
+ );
1573
+ $where_array = array(
1574
+ 'provider_name' => $provider_name,
1575
+ );
1576
+ $wpdb->update( $this->table, $data_array, $where_array);
1577
+ }
1578
+ } else{
1579
+ $img_url = $provider['img_url'];
1580
+ $img_slug = sanitize_title($provider_name);
1581
+ $img = wc_advanced_shipment_tracking()->get_plugin_path().'/assets/shipment-provider-img/'.$img_slug.'.png';
1582
+
1583
+ $ch = curl_init();
1584
+
1585
+ curl_setopt($ch, CURLOPT_HEADER, 0);
1586
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
1587
+ curl_setopt($ch, CURLOPT_URL, $img_url);
1588
+
1589
+ $data = curl_exec($ch);
1590
+ curl_close($ch);
1591
+
1592
+ file_put_contents($img, $data);
1593
 
1594
+
1595
+ $data_array = array(
1596
+ 'shipping_country' => sanitize_text_field($shipping_country),
1597
+ 'provider_name' => sanitize_text_field($provider_name),
1598
+ 'ts_slug' => $ts_slug,
1599
+ 'provider_url' => sanitize_text_field($provider_url),
1600
+ 'display_in_order' => 0,
1601
+ 'shipping_default' => 1,
1602
+ );
1603
+ $result = $wpdb->insert( $this->table, $data_array );
1604
+ }
1605
  }
1606
+ foreach($default_shippment_providers as $db_provider){
1607
+
1608
+ if(!isset($providers_name[$db_provider->provider_name])){
1609
+ $where = array(
1610
+ 'provider_name' => $db_provider->provider_name,
1611
+ 'shipping_default' => 1
1612
+ );
1613
+ $wpdb->delete( $this->table, $where );
1614
+ }
1615
  }
1616
+ }
1617
  }
1618
+
1619
  /*
1620
  * Display admin notice on plugin install or update
1621
  */
1625
  }
1626
  ?>
1627
  <style>
1628
+ .notice.ast-admin-notice {
1629
+ padding: 20px;
1630
+ background: rgb(245, 248, 250);
1631
+ border: 1px solid #eee;
1632
+ border-left: 4px solid #83bd31 !important;
1633
+ }
1634
+ .rtl .notice.ast-admin-notice {
1635
+ border-right-color: #83bd31 !important;
1636
+ }
1637
+ .notice.ast-admin-notice .ast-admin-notice-inner {
1638
+ display: table;
1639
+ width: 100%;
1640
+ }
1641
+ .notice.ast-admin-notice .ast-admin-notice-inner .ast-admin-notice-icon,
1642
+ .notice.ast-admin-notice .ast-admin-notice-inner .ast-admin-notice-content,
1643
+ .notice.ast-admin-notice .ast-admin-notice-inner .trackship-install-now {
1644
+ display: table-cell;
1645
+ vertical-align: middle;
1646
+ }
1647
+ .notice.ast-admin-notice .ast-admin-notice-icon {
1648
+ color: #83bd31;
1649
+ }
1650
+ .notice.ast-admin-notice .ast-admin-notice-icon .notice-logo{
1651
+ width: 200px;
1652
+ }
1653
+ .notice.ast-admin-notice .ast-admin-notice-content {
1654
+ padding: 0 20px;
1655
+ }
1656
+ .notice.ast-admin-notice p {
1657
+ padding: 0;
1658
+ margin: 0;
1659
+ }
1660
+ .notice.ast-admin-notice h3 {
1661
+ margin: 0 0 5px;
1662
+ color: #061c58;
1663
+ }
1664
+ .notice.ast-admin-notice .trackship-install-now {
1665
+ text-align: center;
1666
+ }
1667
+ .notice.ast-admin-notice .trackship-install-now .hello-elementor-install-button {
1668
+ padding: 5px 30px;
1669
+ height: auto;
1670
+ line-height: 20px;
1671
+ text-transform: capitalize;
1672
+ }
1673
+ .notice.ast-admin-notice .trackship-install-now .hello-elementor-install-button i {
1674
+ padding-right: 5px;
1675
+ }
1676
+ .rtl .notice.ast-admin-notice .trackship-install-now .hello-elementor-install-button i {
1677
+ padding-right: 0;
1678
+ padding-left: 5px;
1679
+ }
1680
+ .notice.ast-admin-notice .trackship-install-now .hello-elementor-install-button:active {
1681
+ transform: translateY(1px);
1682
+ }
1683
+ .ast-admin-notice .notice-dismiss:before{
1684
+ color: #061c58;
1685
+ font: normal 20px/20px dashicons;
1686
+ }
1687
+ .wp-core-ui .btn_green2 {
1688
+ background: #83bd31;
1689
+ text-shadow: none;
1690
+ border-color: #83bd31;
1691
+ box-shadow: none;
1692
+ font-size: 14px;
1693
+ line-height: 32px;
1694
+ height: 35px;
1695
+ padding: 0 20px;
1696
+ }
1697
+ .wp-core-ui .btn_green2:hover, .wp-core-ui .btn_green2:focus {
1698
+ background: rgba(131, 189, 49, 0.8);
1699
+ border-color: rgba(131, 189, 49, 0.8);
1700
+ color: #fff;
1701
+ text-shadow: none;
1702
+ box-shadow: inset 0 0 0 100px rgba(0,0,0,0.2);
1703
+ }
1704
+ </style>
1705
+ <div data-dismissible="disable-ts-notice-new-forever" class="notice updated is-dismissible ast-admin-notice">
1706
+ <div class="ast-admin-notice-inner">
1707
+ <div class="ast-admin-notice-icon">
1708
+ <img class="notice-logo" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url().'/assets/images/trackship-400.png'; ?>" alt="Trackship Logo" />
1709
+ </div>
1710
+
1711
+ <div class="ast-admin-notice-content">
1712
+ <h3>Thanks for using the Advanced Shipment Tracking!</h3>
1713
+ <p>
1714
+ <p>Add TrackShip integration and automate your post shipping operations!</p>
1715
+ <a href="https://trackship.info/" target="_blank">Try trackship with 50 free trackers >></a>
1716
+ </p>
1717
+ </div>
1718
+
1719
+ <div class="trackship-install-now">
1720
+ <a class="button button-primary btn_green2 btn_large" href="https://trackship.info/" target="_blank">SIGNUP NOW</a>
1721
+ </div>
1722
  </div>
1723
+ </div>
1724
+ <?php
1725
+ }
1726
+ /**
1727
+ * Admin menu tooltip.
1728
+ */
1729
+ function admin_notice_menu_tooltip() {
1730
+
1731
+ $show_tooltip = get_option( 'ast_admin_menu_tooltip', 0 );
1732
 
1733
+ if ( $show_tooltip ) {
1734
+ // Dismissed less than 30 days ago.
1735
+ return;
1736
+ }
1737
+
1738
+ $url = 'https://trackship.info/?utm_source=wpadmin&utm_campaign=astpopup';
1739
+ ?>
1740
+ <div id="ast-admin-menu-tooltip" class="ast-admin-menu-tooltip-hide">
1741
+ <div class="ast-admin-menu-tooltip-header">
1742
+ <!--span class="ast-admin-menu-tooltip-icon"><span class="dashicons dashicons-megaphone"></span></span-->
1743
+ Automate your Post-Shipping Operations
1744
+ <a href="#" class="ast-admin-menu-tooltip-close"><span class="dashicons dashicons-dismiss"></span></a>
1745
+ </div>
1746
+ <div class="ast-admin-menu-tooltip-content">
1747
+ <img src="https://trackship.info/wp-content/uploads/2019/08/trackship-400.png" class="sidebar_ts_logo" style="max-width: 50%;">
1748
+ <p>TrackShip will auto-track your shipments with 140+ carriers around the globe and display real-time shipment status on your orders admin. You can automate the order management flow, direct customers to a tracking page on your store, automatically send shipment status notifications to your customer and more…</p>
1749
  <p>
1750
+ <a href="<?php echo esc_url( $url ); ?>" target="blank" class="button button-primary btn_green2 btn_large">Try TrackShip for free!</a>
 
1751
  </p>
1752
  </div>
 
 
 
 
1753
  </div>
1754
+ <style type="text/css">
1755
+ #ast-admin-menu-tooltip {
1756
+ position: absolute;
1757
+ left: 100%;
1758
+ top: 100%;
1759
+ background: #fff;
1760
+ margin-left: 16px;
1761
+ width: 350px;
1762
+ box-shadow: 0px 4px 7px 0px #ccc;
1763
+ }
1764
+
1765
+ #ast-admin-menu-tooltip:before {
1766
+ content: '';
1767
+ width: 0;
1768
+ height: 0;
1769
+ border-style: solid;
1770
+ border-width: 12px 12px 12px 0;
1771
+ border-color: transparent #fff transparent transparent;
1772
+ position: absolute;
1773
+ right: 100%;
1774
+ top: 130px;
1775
+ z-index: 10;
1776
+ }
1777
+
1778
+ #ast-admin-menu-tooltip:after {
1779
+ content: '';
1780
+ width: 0;
1781
+ height: 0;
1782
+ border-style: solid;
1783
+ border-width: 13px 13px 13px 0;
1784
+ border-color: transparent #ccc transparent transparent;
1785
+ position: absolute;
1786
+ right: 100%;
1787
+ margin-left: -1px;
1788
+ top: 129px;
1789
+ z-index: 5;
1790
+ }
1791
+
1792
+ #ast-admin-menu-tooltip.ast-tooltip-arrow-top:before {
1793
+ top: 55px;
1794
+ }
1795
+
1796
+ #ast-admin-menu-tooltip.ast-tooltip-arrow-top:after {
1797
+ top: 54px;
1798
+ }
1799
+
1800
+ .ast-admin-menu-tooltip-header {
1801
+ background: #83bd31;
1802
+ padding: 10px 12px;
1803
+ font-size: 14px;
1804
+ font-weight: 700;
1805
+ font-family: Arial, Helvetica, "Trebuchet MS", sans-serif;
1806
+ color: #fff;
1807
+ line-height: 1.6;
1808
+ }
1809
+
1810
+ .ast-admin-menu-tooltip-icon {
1811
+ background: #fff;
1812
+ border-radius: 50%;
1813
+ width: 28px;
1814
+ height: 25px;
1815
+ display: inline-block;
1816
+ color: #83bd31;
1817
+ text-align: center;
1818
+ padding: 3px 0 0;
1819
+ margin-right: 6px;
1820
+ }
1821
+
1822
+ .ast-admin-menu-tooltip-hide {
1823
+ display: none;
1824
+ }
1825
+
1826
+ .ast-admin-menu-tooltip-content {
1827
+ padding: 20px 15px 7px;
1828
+ }
1829
+
1830
+ .ast-admin-menu-tooltip-content strong {
1831
+ font-size: 14px;
1832
+ }
1833
+
1834
+ .ast-admin-menu-tooltip-content p strong {
1835
+ font-size: 13px;
1836
+ }
1837
+
1838
+ .ast-admin-menu-tooltip-close {
1839
+ color: #fff;
1840
+ text-decoration: none;
1841
+ position: absolute;
1842
+ right: 10px;
1843
+ top: 14px;
1844
+ display: block;
1845
+ }
1846
+
1847
+ .ast-admin-menu-tooltip-close:hover {
1848
+ color: #fff;
1849
+ text-decoration: none;
1850
+ }
1851
+
1852
+ .ast-admin-menu-tooltip-close .dashicons {
1853
+ font-size: 14px;
1854
+ }
1855
+
1856
+ @media ( max-width: 782px ) {
1857
+ #ast-admin-menu-tooltip {
1858
+ display: none;
1859
+ }
1860
+ }
1861
+ </style>
1862
+ <script type="text/javascript">
1863
+ if ( 'undefined' !== typeof jQuery ) {
1864
+ jQuery( function ( $ ) {
1865
+ var $tooltip = $( document.getElementById( 'ast-admin-menu-tooltip' ) );
1866
+ var $menuwrapper = $( document.getElementById( 'adminmenuwrap' ) );
1867
+ var $menuitem = $( document.getElementById( 'toplevel_page_woocommerce' ) );
1868
+
1869
+ if ( $menuitem.length ) {
1870
+ $menuwrapper.append( $tooltip );
1871
+ $tooltip.removeClass( 'ast-admin-menu-tooltip-hide' );
1872
+ }
1873
+
1874
+ function alignTooltip() {
1875
+ var sticky = $( 'body' ).hasClass( 'sticky-menu' );
1876
+
1877
+ var menuitem_pos = $menuitem.position();
1878
+
1879
+ var tooltip_top = menuitem_pos.top - 124;
1880
+
1881
+ if ( sticky && $( window ).height() > $menuwrapper.height() + 150 ) {
1882
+ $tooltip.removeClass( 'ast-tooltip-arrow-top' );
1883
+ } else {
1884
+ tooltip_top = menuitem_pos.top - 50;
1885
+ $tooltip.addClass( 'ast-tooltip-arrow-top' );
1886
+ }
1887
+
1888
+ $tooltip.css( {
1889
+ top: tooltip_top + 'px'
1890
+ } );
1891
+ }
1892
+
1893
+ var $document = $( document );
1894
+ var timeout = setTimeout( alignTooltip, 10 );
1895
+ $document.on( 'wp-pin-menu wp-window-resized.pin-menu postboxes-columnchange.pin-menu postbox-toggled.pin-menu wp-collapse-menu.pin-menu wp-scroll-start.pin-menu', function () {
1896
+ if ( timeout ) {
1897
+ clearTimeout( timeout );
1898
+ }
1899
+ timeout = setTimeout( alignTooltip, 10 );
1900
+ } );
1901
+
1902
+ $( '.ast-admin-menu-tooltip-close' ).on( 'click', function ( e ) {
1903
+ e.preventDefault();
1904
+ hideTooltip();
1905
+ } );
1906
+
1907
+ function hideTooltip() {
1908
+ $tooltip.addClass( 'ast-admin-menu-tooltip-hide' );
1909
+ $.post( ajaxurl, {
1910
+ action: 'ast_hide_admin_menu_tooltip',
1911
+ nonce: '<?php echo esc_js( wp_create_nonce( 'ast-admin-tooltip-nonce' ) ); ?>',
1912
+ } );
1913
+ }
1914
+ } );
1915
+ }
1916
+ </script>
1917
+ <?php
1918
+ }
1919
+ /**
1920
+ * Store the time when the float bar was hidden so it won't show again for 14 days.
1921
+ */
1922
+ function ast_mark_admin_menu_tooltip_hidden() {
1923
+ check_ajax_referer( 'ast-admin-tooltip-nonce', 'nonce' );
1924
+ update_option( 'ast_admin_menu_tooltip', time() );
1925
+ wp_send_json_success();
1926
+ }
1927
  }
includes/class-wc-advanced-shipment-tracking.php CHANGED
@@ -43,7 +43,10 @@ class WC_Advanced_Shipment_Tracking_Actions {
43
 
44
  return self::$instance;
45
  }
46
-
 
 
 
47
  function get_providers(){
48
 
49
  if ( empty( $this->providers ) ) {
@@ -56,8 +59,7 @@ class WC_Advanced_Shipment_Tracking_Actions {
56
 
57
  if ( ! empty( $results ) ) {
58
 
59
- foreach ( $results as $row ) {
60
- //$shippment_providers[ $row->ts_slug ] = apply_filters( 'shipping_provider_url_template', $row->provider_url, $row->ts_slug );
61
  $shippment_providers[ $row->ts_slug ] = array(
62
  'provider_name'=> $row->provider_name,
63
  'provider_url' => $row->provider_url,
@@ -147,6 +149,9 @@ class WC_Advanced_Shipment_Tracking_Actions {
147
  return apply_filters( 'woocommerce_shipment_tracking_get_shipment_tracking_column', ob_get_clean(), $order_id, $tracking_items );
148
  }
149
 
 
 
 
150
  public function add_inline_tracking_lightbox(){
151
  global $wpdb;
152
  $WC_Countries = new WC_Countries();
@@ -176,10 +181,14 @@ class WC_Advanced_Shipment_Tracking_Actions {
176
 
177
  $wc_ast_status_shipped = get_option('wc_ast_status_shipped');
178
  if($wc_ast_status_shipped == 1){
179
- $change_order_status_label = __( 'Change order to Shipped?', 'woo-advanced-shipment-tracking' );
 
180
  } else{
181
- $change_order_status_label = __( 'Change order to Completed?', 'woo-advanced-shipment-tracking' );
 
182
  }
 
 
183
  ?>
184
  <div id="" class="trackingpopup_wrapper add_tracking_popup" style="display:none;">
185
  <div class="trackingpopup_row">
@@ -210,21 +219,27 @@ class WC_Advanced_Shipment_Tracking_Actions {
210
  <p class="form-field tracking_number_field ">
211
  <label for="tracking_number"><?php _e( 'Tracking number:', 'woo-advanced-shipment-tracking'); ?></label>
212
  <input type="text" class="short" style="" name="tracking_number" id="tracking_number" value="" placeholder="">
213
- </p>
214
- <?php
215
- woocommerce_wp_text_input( array(
216
- 'id' => 'date_shipped',
217
- 'label' => __( 'Date shipped:', 'woo-advanced-shipment-tracking' ),
218
- 'placeholder' => date_i18n( __( 'Y-m-d', 'woo-advanced-shipment-tracking' ), time() ),
219
- 'description' => '',
220
- 'class' => 'date-picker-field',
221
- 'value' => date_i18n( __( 'Y-m-d', 'woo-advanced-shipment-tracking' ), current_time( 'timestamp' ) ),
222
- ) );
223
- ?>
224
- <p class="form-field change_order_to_shipped_field ">
225
- <label for="change_order_to_shipped"><?php echo $change_order_status_label; ?></label>
226
- <input type="checkbox" class="checkbox" style="" name="change_order_to_shipped" id="change_order_to_shipped" value="yes" <?php if($wc_ast_default_mark_shipped == 1){ echo 'checked'; }?>>
227
  </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  <p class="" style="text-align:left;">
229
  <input type="hidden" name="action" value="add_inline_tracking_number">
230
  <input type="hidden" name="order_id" id="order_id" value="">
@@ -235,6 +250,7 @@ class WC_Advanced_Shipment_Tracking_Actions {
235
  <div class="popupclose"></div>
236
  </div>
237
  <?php
 
238
  }
239
 
240
  /**
@@ -266,13 +282,15 @@ class WC_Advanced_Shipment_Tracking_Actions {
266
  <p class="meta">
267
  <?php /* translators: 1: shipping date */ ?>
268
  <?php echo esc_html( sprintf( __( 'Shipped on %s', 'woo-advanced-shipment-tracking' ), date_i18n( 'Y-m-d', $item['date_shipped'] ) ) ); ?>
269
- <a href="#" class="delete-tracking" rel="<?php echo esc_attr( $item['tracking_id'] ); ?>"><?php _e( 'Delete', 'woo-advanced-shipment-tracking' ); ?></a>
270
- <?php /*?><button class="button" type="button">Get shipment status</button><?php */?>
271
  </p>
272
  </div>
273
  <?php
274
  }
275
 
 
 
 
276
  public function display_shipment_tracking_info( $order_id, $item ){
277
  $shipment_status = get_post_meta( $order_id, "shipment_status", true);
278
  $tracking_id = $item['tracking_id'];
@@ -340,19 +358,27 @@ class WC_Advanced_Shipment_Tracking_Actions {
340
 
341
  $default_provider = get_option("wc_ast_default_provider" );
342
  $wc_ast_default_mark_shipped = get_option("wc_ast_default_mark_shipped" );
 
343
  $value = 1;
344
  $cbvalue = '';
345
  if($wc_ast_default_mark_shipped == 1){
346
- $cbvalue = 1;
 
 
 
 
347
  }
348
 
349
  $wc_ast_status_shipped = get_option('wc_ast_status_shipped');
350
  if($wc_ast_status_shipped == 1){
351
- $change_order_status_label = __( 'Change order to Shipped?', 'woo-advanced-shipment-tracking' );
 
352
  } else{
353
- $change_order_status_label = __( 'Change order to Completed?', 'woo-advanced-shipment-tracking' );
 
354
  }
355
 
 
356
 
357
  echo '<div id="tracking-items">';
358
  if ( count( $tracking_items ) > 0 ) {
@@ -417,18 +443,30 @@ class WC_Advanced_Shipment_Tracking_Actions {
417
  'description' => '',
418
  'class' => 'date-picker-field',
419
  'value' => date_i18n( __( 'Y-m-d', 'woo-advanced-shipment-tracking' ), current_time( 'timestamp' ) ),
420
- ) );
421
-
422
- woocommerce_wp_checkbox( array(
423
- 'id' => 'change_order_to_shipped',
424
- 'label' => __( $change_order_status_label, 'woo-advanced-shipment-tracking' ),
425
- 'description' => '',
426
- 'cbvalue' => $cbvalue,
427
- 'value' => $value,
428
- ) );
429
-
 
 
 
 
 
 
 
 
 
 
 
 
430
  echo '<button class="button button-primary button-save-form">' . __( 'Save Tracking', 'woo-advanced-shipment-tracking' ) . '</button>';
431
- echo '<p class="preview_tracking_link">' . __( 'Preview:', 'woo-advanced-shipment-tracking' ) . ' <a href="" target="_blank">' . __( 'Click here to track shipment', 'woo-advanced-shipment-tracking' ) . '</a></p>';
432
 
433
  echo '</div>';
434
  $provider_array = array();
@@ -483,7 +521,8 @@ class WC_Advanced_Shipment_Tracking_Actions {
483
  } else {
484
  WC()->add_inline_js( $js );
485
  }
486
-
 
487
  wp_enqueue_script( 'woocommerce-advanced-shipment-tracking-js', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/admin.js' );
488
  }
489
 
@@ -546,11 +585,16 @@ class WC_Advanced_Shipment_Tracking_Actions {
546
 
547
  $tracking_item = $this->add_tracking_item( $order_id, $args );
548
 
549
- if($_POST['change_order_to_shipped'] == 'yes'){
550
  $order = new WC_Order($order_id);
551
  $order->update_status('completed');
552
  $ast_admin = WC_Advanced_Shipment_Tracking_Admin::get_instance();
553
  $ast_admin->trigger_woocommerce_order_status_completed( $order_id );
 
 
 
 
 
554
  }
555
 
556
  $this->display_html_tracking_item_for_meta_box( $order_id, $tracking_item );
@@ -565,8 +609,7 @@ class WC_Advanced_Shipment_Tracking_Actions {
565
  * Function for saving tracking items via AJAX
566
  */
567
  public function save_inline_tracking_number() {
568
- if ( isset( $_POST['tracking_number'] ) && $_POST['tracking_provider'] != '' && isset( $_POST['tracking_provider'] ) && strlen( $_POST['tracking_number'] ) > 0 ) {
569
-
570
  $order_id = wc_clean( $_POST['order_id'] );
571
  $args = array(
572
  'tracking_provider' => $_POST['tracking_provider'],
@@ -574,16 +617,21 @@ class WC_Advanced_Shipment_Tracking_Actions {
574
  'date_shipped' => wc_clean( $_POST['date_shipped'] ),
575
  );
576
 
577
- $tracking_item = $this->add_tracking_item( $order_id, $args );
578
-
579
- if($_POST['change_order_to_shipped'] == 'yes'){
580
  $order = new WC_Order($order_id);
581
  $order->update_status('completed');
582
  $ast_admin = WC_Advanced_Shipment_Tracking_Admin::get_instance();
583
  $ast_admin->trigger_woocommerce_order_status_completed( $order_id );
584
- }
 
 
 
 
 
585
 
586
- $this->display_html_tracking_item_for_meta_box( $order_id, $tracking_item );
587
  }
588
  }
589
 
@@ -636,8 +684,8 @@ class WC_Advanced_Shipment_Tracking_Actions {
636
  /**
637
  * Display Shipment info in the frontend (order view/tracking page).
638
  */
639
- public function show_tracking_info_order( $order_id ) {
640
- wc_get_template( 'myaccount/view-order.php', array( 'tracking_items' => $this->get_tracking_items( $order_id, true ) ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
641
  }
642
 
643
  /**
@@ -674,14 +722,15 @@ class WC_Advanced_Shipment_Tracking_Actions {
674
  $order_id = is_callable( array( $order, 'get_id' ) ) ? $order->get_id() : $order->id;
675
  $order = wc_get_order( $order_id );
676
  $order_status = $order->get_status();
677
- //echo '<pre>';print_r($wc_ast_unclude_tracking_info);echo '</pre>';exit;
678
 
679
- if ( is_a( $email, 'WC_Email_Customer_Invoice' ) && !isset($wc_ast_unclude_tracking_info['show_in_customer_invoice'])){
 
680
  return;
681
- } elseif(!isset($wc_ast_unclude_tracking_info[$order_status])){
 
682
  return;
683
  }
684
-
685
  $tracking_items = $this->get_tracking_items( $order_id, true );
686
 
687
  if ( true === $plain_text ) {
@@ -690,6 +739,7 @@ class WC_Advanced_Shipment_Tracking_Actions {
690
  wc_get_template( 'emails/tracking-info.php', array( 'tracking_items' => $this->get_tracking_items( $order_id, true ) ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
691
  }
692
  }
 
693
  /**
694
  * Display shipment info in PDF Invoices & Packing slips.
695
  *
@@ -781,6 +831,7 @@ class WC_Advanced_Shipment_Tracking_Actions {
781
  <?php
782
  }
783
  }
 
784
  /**
785
  * Prevents data being copied to subscription renewals
786
  */
@@ -850,19 +901,32 @@ class WC_Advanced_Shipment_Tracking_Actions {
850
  $shipping_country = $order->get_shipping_country();
851
  } else{
852
  $shipping_country = $order->get_billing_country();
 
 
 
 
 
 
 
 
 
853
  }
854
 
855
  if($order->get_shipping_postcode() != null){
856
  $shipping_postal_code = $order->get_shipping_postcode();
857
  } else{
858
  $shipping_postal_code = $order->get_billing_postcode();
859
- }
860
-
861
- $country_code = array("%country_code%", str_replace(' ', '', "%2 $ s") );
862
- $link_format = str_replace($country_code, $shipping_country, $link_format);
863
-
864
- $postal_code = array("%postal_code%", str_replace(' ', '', "%2 $ s") );
865
- $link_format = str_replace($postal_code, $shipping_postal_code, $link_format);
 
 
 
 
866
 
867
  $formatted['formatted_tracking_link'] = $link_format;
868
  }
@@ -911,37 +975,38 @@ class WC_Advanced_Shipment_Tracking_Actions {
911
  public function add_tracking_item( $order_id, $args ) {
912
  $tracking_item = array();
913
 
914
- if($args['tracking_provider']){
915
- $tracking_item['tracking_provider'] = $args['tracking_provider'];
916
  }
917
 
918
- if($args['custom_tracking_provider']){
919
  $tracking_item['custom_tracking_provider'] = wc_clean( $args['custom_tracking_provider'] );
920
  }
921
- if($args['custom_tracking_link']){
922
- $tracking_item['custom_tracking_link'] = wc_clean( $args['custom_tracking_link'] );
923
  }
924
 
925
- if($args['tracking_number']){
926
- $tracking_item['tracking_number'] = wc_clean( $args['tracking_number'] );
927
  }
928
- if($args['date_shipped']){
 
929
  $date = str_replace("/","-",$args['date_shipped']);
930
  $date = date_create($date);
931
  $date = date_format($date,"d-m-Y");
932
 
933
- $tracking_item['date_shipped'] = wc_clean( strtotime( $date ) );
934
  }
935
 
936
  if(isset($args['status_shipped'])){
937
- $tracking_item['status_shipped'] = wc_clean( $args['status_shipped'] );
938
  }
939
 
940
  if ( isset($tracking_item['date_shipped']) && 0 == (int) $tracking_item['date_shipped'] ) {
941
  $tracking_item['date_shipped'] = time();
942
  }
943
 
944
- if ( $tracking_item['custom_tracking_provider'] ) {
945
  $tracking_item['tracking_id'] = md5( "{$tracking_item['custom_tracking_provider']}-{$tracking_item['tracking_number']}" . microtime() );
946
  } else {
947
  $tracking_item['tracking_id'] = md5( "{$tracking_item['tracking_provider']}-{$tracking_item['tracking_number']}" . microtime() );
@@ -961,6 +1026,7 @@ class WC_Advanced_Shipment_Tracking_Actions {
961
  $tracking_provider = $formated_tracking_item['formatted_tracking_provider'];
962
 
963
  $order = wc_get_order( $order_id );
 
964
  // The text for the note
965
  $note = sprintf(__("Order was shipped with %s and tracking number is: %s", 'woo-advanced-shipment-tracking'), $tracking_provider, $tracking_item['tracking_number'] );
966
 
@@ -1116,6 +1182,9 @@ class WC_Advanced_Shipment_Tracking_Actions {
1116
  return $this->plugin_path;
1117
  }
1118
 
 
 
 
1119
  public function check_tracking_delivered( $order_id ){
1120
  $delivered = true;
1121
  $shipment_status = get_post_meta( $order_id, "shipment_status", true);
@@ -1135,6 +1204,10 @@ class WC_Advanced_Shipment_Tracking_Actions {
1135
  }
1136
  }
1137
  }
 
 
 
 
1138
  public function custom_validation_js(){ ?>
1139
  <script>
1140
  jQuery(document).on("click",".button-save-form",function(e){
@@ -1168,6 +1241,9 @@ class WC_Advanced_Shipment_Tracking_Actions {
1168
  </script>
1169
  <?php }
1170
 
 
 
 
1171
  public function trigger_tracking_email($order_id, $old_status, $new_status){
1172
  $order = wc_get_order( $order_id );
1173
  require_once( 'email-manager.php' );
@@ -1192,4 +1268,105 @@ class WC_Advanced_Shipment_Tracking_Actions {
1192
  update_post_meta( $order_id, "shipment_status", $shipment_status);
1193
  }
1194
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1195
  }
43
 
44
  return self::$instance;
45
  }
46
+
47
+ /**
48
+ * Get shipping providers from database
49
+ */
50
  function get_providers(){
51
 
52
  if ( empty( $this->providers ) ) {
59
 
60
  if ( ! empty( $results ) ) {
61
 
62
+ foreach ( $results as $row ) {
 
63
  $shippment_providers[ $row->ts_slug ] = array(
64
  'provider_name'=> $row->provider_name,
65
  'provider_url' => $row->provider_url,
149
  return apply_filters( 'woocommerce_shipment_tracking_get_shipment_tracking_column', ob_get_clean(), $order_id, $tracking_items );
150
  }
151
 
152
+ /**
153
+ * Lightbox for add tracking number from orders list
154
+ */
155
  public function add_inline_tracking_lightbox(){
156
  global $wpdb;
157
  $WC_Countries = new WC_Countries();
181
 
182
  $wc_ast_status_shipped = get_option('wc_ast_status_shipped');
183
  if($wc_ast_status_shipped == 1){
184
+ $change_order_status_label = __( 'Mark as Shipped?', 'woo-advanced-shipment-tracking' );
185
+ $shipped_label = __( 'Shipped', 'woo-advanced-shipment-tracking' );
186
  } else{
187
+ $change_order_status_label = __( 'Mark as Completed?', 'woo-advanced-shipment-tracking' );
188
+ $shipped_label = __( 'Completed', 'woo-advanced-shipment-tracking' );
189
  }
190
+
191
+ $wc_ast_status_partial_shipped = get_option('wc_ast_status_partial_shipped');
192
  ?>
193
  <div id="" class="trackingpopup_wrapper add_tracking_popup" style="display:none;">
194
  <div class="trackingpopup_row">
219
  <p class="form-field tracking_number_field ">
220
  <label for="tracking_number"><?php _e( 'Tracking number:', 'woo-advanced-shipment-tracking'); ?></label>
221
  <input type="text" class="short" style="" name="tracking_number" id="tracking_number" value="" placeholder="">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
  </p>
223
+ <p class="form-field date_shipped_field">
224
+ <label for="date_shipped"><?php _e( 'Date shipped:', 'woo-advanced-shipment-tracking'); ?></label>
225
+ <input type="text" class="date-picker-field" style="" name="date_shipped" id="date_shipped" value="<?php echo date_i18n( __( 'Y-m-d', 'woo-advanced-shipment-tracking' ), current_time( 'timestamp' ) ); ?>" placeholder="<?php echo date_i18n( __( 'Y-m-d', 'woo-advanced-shipment-tracking' ), time() ); ?>">
226
+ </p>
227
+
228
+ <?php
229
+ if($wc_ast_status_partial_shipped){ ?>
230
+ <fieldset class="form-field change_order_to_shipped_field ">
231
+ <legend><?php _e( 'Mark as', 'woo-advanced-shipment-tracking'); ?></legend>
232
+ <ul class="wc-radios">
233
+ <li><label><input name="change_order_to_shipped" value="change_order_to_shipped" type="radio" class="select short" style=""><?php _e( $shipped_label, 'woo-advanced-shipment-tracking'); ?></label></li>
234
+ <li><label><input name="change_order_to_shipped" value="change_order_to_partial_shipped" type="radio" class="select short" style=""><?php _e( 'Partial Shipped', 'woo-advanced-shipment-tracking'); ?></label></li>
235
+ </ul>
236
+ </fieldset>
237
+ <?php } else{ ?>
238
+ <p class="form-field change_order_to_shipped_field ">
239
+ <label for="change_order_to_shipped"><?php echo $change_order_status_label; ?></label>
240
+ <input type="checkbox" class="checkbox" style="" name="change_order_to_shipped" id="change_order_to_shipped" value="yes" <?php if($wc_ast_default_mark_shipped == 1){ echo 'checked'; }?>>
241
+ </p>
242
+ <?php } ?>
243
  <p class="" style="text-align:left;">
244
  <input type="hidden" name="action" value="add_inline_tracking_number">
245
  <input type="hidden" name="order_id" id="order_id" value="">
250
  <div class="popupclose"></div>
251
  </div>
252
  <?php
253
+ //wp_enqueue_script( 'wc-admin-meta-boxes' );
254
  }
255
 
256
  /**
282
  <p class="meta">
283
  <?php /* translators: 1: shipping date */ ?>
284
  <?php echo esc_html( sprintf( __( 'Shipped on %s', 'woo-advanced-shipment-tracking' ), date_i18n( 'Y-m-d', $item['date_shipped'] ) ) ); ?>
285
+ <a href="#" class="delete-tracking" rel="<?php echo esc_attr( $item['tracking_id'] ); ?>"><?php _e( 'Delete', 'woocommerce' ); ?></a>
 
286
  </p>
287
  </div>
288
  <?php
289
  }
290
 
291
+ /**
292
+ * Shipment tracking info html in orders details page
293
+ */
294
  public function display_shipment_tracking_info( $order_id, $item ){
295
  $shipment_status = get_post_meta( $order_id, "shipment_status", true);
296
  $tracking_id = $item['tracking_id'];
358
 
359
  $default_provider = get_option("wc_ast_default_provider" );
360
  $wc_ast_default_mark_shipped = get_option("wc_ast_default_mark_shipped" );
361
+ $wc_ast_status_partial_shipped = get_option('wc_ast_status_partial_shipped');
362
  $value = 1;
363
  $cbvalue = '';
364
  if($wc_ast_default_mark_shipped == 1){
365
+ if($wc_ast_status_partial_shipped){
366
+ $cbvalue = 'change_order_to_shipped';
367
+ } else{
368
+ $cbvalue = 1;
369
+ }
370
  }
371
 
372
  $wc_ast_status_shipped = get_option('wc_ast_status_shipped');
373
  if($wc_ast_status_shipped == 1){
374
+ $change_order_status_label = __( 'Mark as Shipped?', 'woo-advanced-shipment-tracking' );
375
+ $shipped_label = 'Shipped';
376
  } else{
377
+ $change_order_status_label = __( 'Mark as Completed?', 'woo-advanced-shipment-tracking' );
378
+ $shipped_label = 'Completed';
379
  }
380
 
381
+
382
 
383
  echo '<div id="tracking-items">';
384
  if ( count( $tracking_items ) > 0 ) {
443
  'description' => '',
444
  'class' => 'date-picker-field',
445
  'value' => date_i18n( __( 'Y-m-d', 'woo-advanced-shipment-tracking' ), current_time( 'timestamp' ) ),
446
+ ) );
447
+
448
+ if($wc_ast_status_partial_shipped){
449
+ woocommerce_wp_radio( array(
450
+ 'id' => 'change_order_to_shipped',
451
+ 'label' => __( 'Mark as', 'woo-advanced-shipment-tracking' ),
452
+ 'description' => '',
453
+ 'options' => array(
454
+ 'change_order_to_shipped' => __($shipped_label, 'woo-advanced-shipment-tracking'),
455
+ 'change_order_to_partial_shipped' => __('Partial Shipped', 'woo-advanced-shipment-tracking')
456
+ ),
457
+ 'value' => $cbvalue,
458
+ ) );
459
+ } else{
460
+ woocommerce_wp_checkbox( array(
461
+ 'id' => 'change_order_to_shipped',
462
+ 'label' => __( $change_order_status_label, 'woo-advanced-shipment-tracking' ),
463
+ 'description' => '',
464
+ 'cbvalue' => $cbvalue,
465
+ 'value' => $value,
466
+ ) );
467
+ }
468
  echo '<button class="button button-primary button-save-form">' . __( 'Save Tracking', 'woo-advanced-shipment-tracking' ) . '</button>';
469
+ echo '<p class="preview_tracking_link">' . __( 'Preview:', 'woo-advanced-shipment-tracking' ) . ' <a href="" target="_blank">' . __( 'Click here to track your shipment', 'woo-advanced-shipment-tracking' ) . '</a></p>';
470
 
471
  echo '</div>';
472
  $provider_array = array();
521
  } else {
522
  WC()->add_inline_js( $js );
523
  }
524
+
525
+ wp_enqueue_style( 'shipment_tracking_styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/admin.css', array(), wc_advanced_shipment_tracking()->version );
526
  wp_enqueue_script( 'woocommerce-advanced-shipment-tracking-js', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/admin.js' );
527
  }
528
 
585
 
586
  $tracking_item = $this->add_tracking_item( $order_id, $args );
587
 
588
+ if($_POST['change_order_to_shipped'] == 'change_order_to_shipped'){
589
  $order = new WC_Order($order_id);
590
  $order->update_status('completed');
591
  $ast_admin = WC_Advanced_Shipment_Tracking_Admin::get_instance();
592
  $ast_admin->trigger_woocommerce_order_status_completed( $order_id );
593
+ } elseif($_POST['change_order_to_shipped'] == 'change_order_to_partial_shipped'){
594
+ $order = new WC_Order($order_id);
595
+ $order->update_status('partial-shipped');
596
+ $ast_admin = WC_Advanced_Shipment_Tracking_Admin::get_instance();
597
+ $ast_admin->trigger_woocommerce_order_status_completed( $order_id );
598
  }
599
 
600
  $this->display_html_tracking_item_for_meta_box( $order_id, $tracking_item );
609
  * Function for saving tracking items via AJAX
610
  */
611
  public function save_inline_tracking_number() {
612
+ if ( isset( $_POST['tracking_number'] ) && $_POST['tracking_provider'] != '' && isset( $_POST['tracking_provider'] ) && strlen( $_POST['tracking_number'] ) > 0 ) {
 
613
  $order_id = wc_clean( $_POST['order_id'] );
614
  $args = array(
615
  'tracking_provider' => $_POST['tracking_provider'],
617
  'date_shipped' => wc_clean( $_POST['date_shipped'] ),
618
  );
619
 
620
+ $tracking_item = $this->add_tracking_item( $order_id, $args );
621
+
622
+ if($_POST['change_order_to_shipped'] == 'change_order_to_shipped' || $_POST['change_order_to_shipped'] == 'yes'){
623
  $order = new WC_Order($order_id);
624
  $order->update_status('completed');
625
  $ast_admin = WC_Advanced_Shipment_Tracking_Admin::get_instance();
626
  $ast_admin->trigger_woocommerce_order_status_completed( $order_id );
627
+ } elseif($_POST['change_order_to_shipped'] == 'change_order_to_partial_shipped'){
628
+ $order = new WC_Order($order_id);
629
+ $order->update_status('partial-shipped');
630
+ $ast_admin = WC_Advanced_Shipment_Tracking_Admin::get_instance();
631
+ $ast_admin->trigger_woocommerce_order_status_completed( $order_id );
632
+ }
633
 
634
+ //$this->display_html_tracking_item_for_meta_box( $order_id, $tracking_item );
635
  }
636
  }
637
 
684
  /**
685
  * Display Shipment info in the frontend (order view/tracking page).
686
  */
687
+ public function show_tracking_info_order( $order_id ) {
688
+ wc_get_template( 'myaccount/tracking-info.php', array( 'tracking_items' => $this->get_tracking_items( $order_id, true ) ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
689
  }
690
 
691
  /**
722
  $order_id = is_callable( array( $order, 'get_id' ) ) ? $order->get_id() : $order->id;
723
  $order = wc_get_order( $order_id );
724
  $order_status = $order->get_status();
 
725
 
726
+
727
+ if ( is_a( $email, 'WC_Email_Customer_Invoice' ) && !isset($wc_ast_unclude_tracking_info['show_in_customer_invoice'])){
728
  return;
729
+ }
730
+ if(!isset($wc_ast_unclude_tracking_info[$order_status]) && !is_a( $email, 'WC_Email_Customer_Invoice' )){
731
  return;
732
  }
733
+
734
  $tracking_items = $this->get_tracking_items( $order_id, true );
735
 
736
  if ( true === $plain_text ) {
739
  wc_get_template( 'emails/tracking-info.php', array( 'tracking_items' => $this->get_tracking_items( $order_id, true ) ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
740
  }
741
  }
742
+
743
  /**
744
  * Display shipment info in PDF Invoices & Packing slips.
745
  *
831
  <?php
832
  }
833
  }
834
+
835
  /**
836
  * Prevents data being copied to subscription renewals
837
  */
901
  $shipping_country = $order->get_shipping_country();
902
  } else{
903
  $shipping_country = $order->get_billing_country();
904
+ }
905
+
906
+ if($shipping_country){
907
+ if($tracking_item['tracking_provider'] == 'dhl-ecommerce'){
908
+ $link_format = str_replace('us-en', strtolower($shipping_country).'-en', $link_format);
909
+ }
910
+ if($tracking_item['tracking_provider'] == 'dhl-freight'){
911
+ $link_format = str_replace('global-en', strtolower($shipping_country).'-en', $link_format);
912
+ }
913
  }
914
 
915
  if($order->get_shipping_postcode() != null){
916
  $shipping_postal_code = $order->get_shipping_postcode();
917
  } else{
918
  $shipping_postal_code = $order->get_billing_postcode();
919
+ }
920
+
921
+ $shipping_country = str_replace(' ', '', $shipping_country);
922
+ $link_format = str_replace("%country_code%", $shipping_country, $link_format);
923
+
924
+ if($tracking_item['tracking_provider'] == 'apc-overnight'){
925
+ $shipping_postal_code = str_replace(' ', '+', $shipping_postal_code);
926
+ } else{
927
+ $shipping_postal_code = str_replace(' ', '', $shipping_postal_code);
928
+ }
929
+ $link_format = str_replace("%postal_code%", $shipping_postal_code, $link_format);
930
 
931
  $formatted['formatted_tracking_link'] = $link_format;
932
  }
975
  public function add_tracking_item( $order_id, $args ) {
976
  $tracking_item = array();
977
 
978
+ if(isset($args['tracking_provider'])){
979
+ $tracking_item['tracking_provider'] = $args['tracking_provider'];
980
  }
981
 
982
+ if(isset($args['custom_tracking_provider'])){
983
  $tracking_item['custom_tracking_provider'] = wc_clean( $args['custom_tracking_provider'] );
984
  }
985
+ if(isset($args['custom_tracking_link'])){
986
+ $tracking_item['custom_tracking_link'] = wc_clean( $args['custom_tracking_link'] );
987
  }
988
 
989
+ if(isset($args['tracking_number'])){
990
+ $tracking_item['tracking_number'] = wc_clean( $args['tracking_number'] );
991
  }
992
+
993
+ if(isset($args['date_shipped'])){
994
  $date = str_replace("/","-",$args['date_shipped']);
995
  $date = date_create($date);
996
  $date = date_format($date,"d-m-Y");
997
 
998
+ $tracking_item['date_shipped'] = wc_clean( strtotime( $date ) );
999
  }
1000
 
1001
  if(isset($args['status_shipped'])){
1002
+ $tracking_item['status_shipped'] = wc_clean( $args['status_shipped'] );
1003
  }
1004
 
1005
  if ( isset($tracking_item['date_shipped']) && 0 == (int) $tracking_item['date_shipped'] ) {
1006
  $tracking_item['date_shipped'] = time();
1007
  }
1008
 
1009
+ if ( isset($tracking_item['custom_tracking_provider'] )) {
1010
  $tracking_item['tracking_id'] = md5( "{$tracking_item['custom_tracking_provider']}-{$tracking_item['tracking_number']}" . microtime() );
1011
  } else {
1012
  $tracking_item['tracking_id'] = md5( "{$tracking_item['tracking_provider']}-{$tracking_item['tracking_number']}" . microtime() );
1026
  $tracking_provider = $formated_tracking_item['formatted_tracking_provider'];
1027
 
1028
  $order = wc_get_order( $order_id );
1029
+
1030
  // The text for the note
1031
  $note = sprintf(__("Order was shipped with %s and tracking number is: %s", 'woo-advanced-shipment-tracking'), $tracking_provider, $tracking_item['tracking_number'] );
1032
 
1182
  return $this->plugin_path;
1183
  }
1184
 
1185
+ /**
1186
+ * code for check if tracking number in order is delivered or not
1187
+ */
1188
  public function check_tracking_delivered( $order_id ){
1189
  $delivered = true;
1190
  $shipment_status = get_post_meta( $order_id, "shipment_status", true);
1204
  }
1205
  }
1206
  }
1207
+
1208
+ /**
1209
+ * validation code add tracking info form
1210
+ */
1211
  public function custom_validation_js(){ ?>
1212
  <script>
1213
  jQuery(document).on("click",".button-save-form",function(e){
1241
  </script>
1242
  <?php }
1243
 
1244
+ /**
1245
+ * code for trigger shipment status email
1246
+ */
1247
  public function trigger_tracking_email($order_id, $old_status, $new_status){
1248
  $order = wc_get_order( $order_id );
1249
  require_once( 'email-manager.php' );
1268
  update_post_meta( $order_id, "shipment_status", $shipment_status);
1269
  }
1270
  }
1271
+
1272
+ /*
1273
+ * Get formated order id
1274
+ */
1275
+ public function get_formated_order_id($order_id){
1276
+ if ( is_plugin_active( 'custom-order-numbers-for-woocommerce/custom-order-numbers-for-woocommerce.php' ) ) {
1277
+ $alg_wc_custom_order_numbers_enabled = get_option('alg_wc_custom_order_numbers_enabled');
1278
+ if($alg_wc_custom_order_numbers_enabled == 'yes'){
1279
+ $args = array(
1280
+ 'post_type' => 'shop_order',
1281
+ 'posts_per_page' => '1',
1282
+ 'meta_query' => array(
1283
+ 'relation' => 'AND',
1284
+ array(
1285
+ 'key' => '_alg_wc_custom_order_number',
1286
+ 'value' => $order_id
1287
+ ),
1288
+ ),
1289
+ 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
1290
+ );
1291
+ $posts = get_posts( $args );
1292
+ $my_query = new WP_Query( $args );
1293
+
1294
+ if( $my_query->have_posts() ) {
1295
+ while( $my_query->have_posts()) {
1296
+ $my_query->the_post();
1297
+ if(get_the_ID()){
1298
+ $order_id = get_the_ID();
1299
+ }
1300
+ } // end while
1301
+ } // end if
1302
+ wp_reset_postdata();
1303
+ }
1304
+ }
1305
+
1306
+ if ( is_plugin_active( 'woocommerce-sequential-order-numbers/woocommerce-sequential-order-numbers.php' ) ) {
1307
+
1308
+ $s_order_id = wc_sequential_order_numbers()->find_order_by_order_number( $order_id );
1309
+ if($s_order_id){
1310
+ $order_id = $s_order_id;
1311
+ }
1312
+ }
1313
+
1314
+ if ( is_plugin_active( 'wp-lister-amazon/wp-lister-amazon.php' ) ) {
1315
+ $wpla_use_amazon_order_number = get_option( 'wpla_use_amazon_order_number' );
1316
+ if($wpla_use_amazon_order_number == 1){
1317
+ $args = array(
1318
+ 'post_type' => 'shop_order',
1319
+ 'posts_per_page' => '1',
1320
+ 'meta_query' => array(
1321
+ 'relation' => 'AND',
1322
+ array(
1323
+ 'key' => '_wpla_amazon_order_id',
1324
+ 'value' => $order_id
1325
+ ),
1326
+ ),
1327
+ 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
1328
+ );
1329
+ $posts = get_posts( $args );
1330
+ $my_query = new WP_Query( $args );
1331
+
1332
+ if( $my_query->have_posts() ) {
1333
+ while( $my_query->have_posts()) {
1334
+ $my_query->the_post();
1335
+ if(get_the_ID()){
1336
+ $order_id = get_the_ID();
1337
+ }
1338
+ } // end while
1339
+ } // end if
1340
+ wp_reset_postdata();
1341
+ }
1342
+ }
1343
+
1344
+ if ( is_plugin_active( 'wp-lister/wp-lister.php' ) || is_plugin_active( 'wp-lister-for-ebay/wp-lister.php' )) {
1345
+ $args = array(
1346
+ 'post_type' => 'shop_order',
1347
+ 'posts_per_page' => '1',
1348
+ 'meta_query' => array(
1349
+ 'relation' => 'AND',
1350
+ array(
1351
+ 'key' => '_ebay_extended_order_id',
1352
+ 'value' => $order_id
1353
+ ),
1354
+ ),
1355
+ 'post_status' => array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-delivered', 'wc-cancelled', 'wc-refunded', 'wc-failed','wc-bit-payment') ,
1356
+ );
1357
+ $posts = get_posts( $args );
1358
+ $my_query = new WP_Query( $args );
1359
+
1360
+ if( $my_query->have_posts() ) {
1361
+ while( $my_query->have_posts()) {
1362
+ $my_query->the_post();
1363
+ if(get_the_ID()){
1364
+ $order_id = get_the_ID();
1365
+ }
1366
+ } // end while
1367
+ } // end if
1368
+ wp_reset_postdata();
1369
+ }
1370
+ return $order_id;
1371
+ }
1372
  }
includes/class-wc-advanced-shipment-welcome.php ADDED
@@ -0,0 +1,365 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Class AST_Welcome
5
+ */
6
+ class AST_Welcome {
7
+
8
+ /**
9
+ * AST_Welcome constructor.
10
+ */
11
+ public function __construct() {
12
+
13
+ // If we are not in admin or admin ajax, return
14
+ if ( ! is_admin() ) {
15
+ return;
16
+ }
17
+
18
+ add_action( 'admin_init', array( $this, 'maybe_redirect' ), 9999 );
19
+ add_action( 'admin_menu', array( $this, 'register_welcome_page' ) );
20
+ add_action( 'admin_head', array( $this, 'hide_menu' ) );
21
+
22
+ add_action( 'admin_enqueue_scripts', array( $this, 'welcome_scripts' ) );
23
+ add_action( 'in_admin_header', array( $this, 'remove_all_admin_notice' ), 1000 );
24
+ }
25
+
26
+ /**
27
+ * Register the pages to be used for the Welcome screen.
28
+ *
29
+ * These pages will be removed from the Dashboard menu, so they will
30
+ * not actually show. Sneaky, sneaky.
31
+ *
32
+ * @since 1.0.0
33
+ */
34
+ public function register_welcome_page() {
35
+
36
+ // Getting started - shows after installation.
37
+ add_dashboard_page(
38
+ esc_html__( 'Welcome to Advanced Shipment Tracking', 'woo-advanced-shipment-tracking' ),
39
+ esc_html__( 'Welcome to Advanced Shipment Tracking', 'woo-advanced-shipment-tracking' ),
40
+ apply_filters( 'ast_welcome_cap', 'manage_options' ),
41
+ 'ast-getting-started',
42
+ array( $this, 'welcome_screen' )
43
+ );
44
+ }
45
+
46
+ /**
47
+ * Removed the dashboard pages from the admin menu.
48
+ *
49
+ * This means the pages are still available to us, but hidden.
50
+ *
51
+ * @since 1.0.0
52
+ */
53
+ public function hide_menu() {
54
+ remove_submenu_page( 'index.php', 'ast-getting-started' );
55
+ }
56
+
57
+ /**
58
+ * Load the welcome screen content.
59
+ */
60
+ public function welcome_screen() { ?>
61
+ <div class="ast-admin-welcome-page">
62
+ <header class="ast-onboarding-header">
63
+ <!--nav class="ast-header-navigation"><a href="https://www.inearu.com/wp-admin/admin.php?page=ast_settings" class="ast-exit-button"><i class="monstericon-times-circle"></i><span>Exit Setup</span></a></nav-->
64
+ <h1 class="ast-onboarding-wizard-logo"><div class="ast-logo"><div class="ast-bg-img"><img class="plugin-logo" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/images/ast-logo.png"></div></div></h1></header>
65
+ <div class="ast-onboarding-wizard-container">
66
+ <div class="ast-onboarding-wizard-steps">
67
+ <!---->
68
+ <div class="ast-onboarding-wizard-step step-welcome ast-onboarding-wizard-step-active"></div>
69
+ <div class="ast-onboarding-wizard-step-line"></div>
70
+ <div class="ast-onboarding-wizard-step step-shipping"></div>
71
+ <div class="ast-onboarding-wizard-step-line"></div>
72
+ <div class="ast-onboarding-wizard-step step-delivered"></div>
73
+ <div class="ast-onboarding-wizard-step-line"></div>
74
+ <div class="ast-onboarding-wizard-step step-trackship"></div>
75
+ </div>
76
+ </div>
77
+ <div class="ast-onboarding-wizard-container">
78
+ <div class="woocommerce zorem_admin_layout ast-onboarding-wizard-content">
79
+ <div class="ast-onboarding-step-welcome">
80
+ <header>
81
+ <h2>General Settings</h2>
82
+ </header>
83
+ <div class="ast-onboarding-wizard-form">
84
+ <div class="ast-separator"></div>
85
+ <form method="post" id="wc_ast_settings_form" action="" enctype="multipart/form-data">
86
+ <?php
87
+ $admin = new WC_Advanced_Shipment_Tracking_Admin;
88
+ $admin->get_html( $admin->get_settings_data() ); ?>
89
+ <div class="submit">
90
+ <button name="save" class="button-primary ast-save-setup-settings btn_ast2 btn_large" type="button" value="Save changes"><?php _e( 'Save and Continue', 'woo-advanced-shipment-tracking' ); ?></button>
91
+ <div class="spinner"></div>
92
+ <?php wp_nonce_field( 'wc_ast_settings_form', 'wc_ast_settings_form' );?>
93
+ <input type="hidden" name="action" value="wc_ast_settings_form_update">
94
+ </div>
95
+ </form>
96
+ </div>
97
+ </div>
98
+ <div class="ast-onboarding-step-shipping">
99
+ <header>
100
+ <h2>Shipping Providers</h2>
101
+ </header>
102
+ <div class="ast-onboarding-wizard-form">
103
+ <div class="ast-separator"></div>
104
+ <?php
105
+ $admin = new WC_Advanced_Shipment_Tracking_Admin;
106
+ global $order;
107
+ $WC_Countries = new WC_Countries();
108
+ $countries = $WC_Countries->get_countries();
109
+
110
+ global $wpdb;
111
+ $woo_shippment_table_name = $admin->table;
112
+
113
+ $default_shippment_providers = $wpdb->get_results( "SELECT * FROM $woo_shippment_table_name WHERE display_in_order = 1" );
114
+
115
+ foreach($default_shippment_providers as $key => $value){
116
+ $search = array('(US)', '(UK)');
117
+ $replace = array('', '');
118
+ if($value->shipping_country && $value->shipping_country != 'Global'){
119
+ $country = str_replace($search, $replace, $WC_Countries->countries[$value->shipping_country]);
120
+ $default_shippment_providers[$key]->country = $country;
121
+ } elseif($value->shipping_country && $value->shipping_country == 'Global'){
122
+ $default_shippment_providers[$key]->country = 'Global';
123
+ }
124
+ }
125
+ //$admin->get_html( $admin->get_settings_data() );
126
+ require_once( 'views/admin_options_shipping_provider.php' );
127
+ ?>
128
+ <div class="submit">
129
+ <button name="save" class="button-primary ast-save-setup-providers btn_ast2 btn_large" type="button" value="Save changes"><?php _e( 'Save and Continue', 'woo-advanced-shipment-tracking' ); ?></button>
130
+ <div class="spinner"></div>
131
+ <?php wp_nonce_field( 'wc_ast_settings_form', 'wc_ast_settings_form' );?>
132
+ <input type="hidden" name="action" value="wc_ast_settings_form_update">
133
+ </div>
134
+ </div>
135
+ </div>
136
+ <div class="ast-onboarding-step-delivered">
137
+ <header>
138
+ <h2>Delivered Order Status</h2>
139
+ </header>
140
+ <div class="ast-onboarding-wizard-form">
141
+ <div class="ast-separator"></div>
142
+ <form method="post" id="wc_ast_delivered_settings_form" action="" enctype="multipart/form-data">
143
+ <?php
144
+ $admin = new WC_Advanced_Shipment_Tracking_Admin;
145
+ $admin->get_html( $admin->get_delivered_data() );?>
146
+ <div class="submit">
147
+ <button name="save" class="button-primary ast-save-setup-delivered btn_ast2 btn_large" type="button" value="Save changes"><?php _e( 'Save and Continue', 'woo-advanced-shipment-tracking' ); ?></button>
148
+ <div class="spinner"></div>
149
+ <?php wp_nonce_field( 'wc_ast_settings_form', 'wc_ast_settings_form' );?>
150
+ <input type="hidden" name="action" value="wc_ast_settings_form_update">
151
+ </div>
152
+ </form>
153
+ </div>
154
+ </div>
155
+ <div class="ast-onboarding-step-trackship">
156
+
157
+ <?php
158
+ $wc_ast_api_key = get_option('wc_ast_api_key');
159
+ if($wc_ast_api_key){
160
+ $url = 'https://my.trackship.info/wp-json/tracking/get_user_plan';
161
+ $args['body'] = array(
162
+ 'user_key' => $wc_ast_api_key,
163
+ );
164
+ $response = wp_remote_post( $url, $args );
165
+ $plan_data = json_decode($response['body']);
166
+ ?>
167
+ <header>
168
+ <?php if($wc_ast_api_key){ ?>
169
+ <h2>TrackShip</h2>
170
+ <?php } else{ ?>
171
+ <h2>Connect TrackShip to Your Website</h2>
172
+ <?php } ?>
173
+ </header>
174
+ <table class="form-table heading-table">
175
+ <tbody>
176
+ <tr valign="top">
177
+ <td><h3 style=""><?php _e( 'Connection status', 'woo-advanced-shipment-tracking' ); ?></h3></td>
178
+ </tr>
179
+ </tbody>
180
+ </table>
181
+ <table class="form-table">
182
+ <tbody>
183
+ <tr valign="top">
184
+ <td><label><?php _e( 'TrackShip Connection Status', 'woo-advanced-shipment-tracking' ); ?></label></td>
185
+ <td class="forminp">
186
+ <fieldset>
187
+ <a href="https://my.trackship.info/" target="_blank">
188
+ <span class="api_connected"><label><?php _e( 'Connected', 'woo-advanced-shipment-tracking' ); ?></label><span class="dashicons dashicons-yes"></span></span>
189
+ </a>
190
+ </fieldset>
191
+ </td>
192
+ </tr>
193
+ <tr valign="top">
194
+ <td><label><?php _e( 'Trackers Balance', 'woo-advanced-shipment-tracking' ); ?></label></td>
195
+ <td class="forminp">
196
+ <fieldset>
197
+ <strong><?php echo get_option('trackers_balance'); ?></strong>
198
+ </fieldset>
199
+ </td>
200
+ </tr>
201
+ <tr valign="top">
202
+ <td><label><?php _e( 'Current Plan', 'woo-advanced-shipment-tracking' ); ?></label></td>
203
+ <td class="forminp">
204
+ <fieldset>
205
+ <strong>
206
+ <?php
207
+ if(isset($plan_data->subscription_plan)){
208
+ echo $plan_data->subscription_plan;
209
+ }
210
+ ?>
211
+ </strong>
212
+ </fieldset>
213
+ </td>
214
+ </tr>
215
+ <tr valign="top">
216
+ <td colspan="2">
217
+ <?php _e( 'You are now connected with TrackShip! TrackShip makes it effortless to automate your post shipping operations and get tracking and delivery status updates directly in the WooCommerce admin.', 'woo-advanced-shipment-tracking' ); ?>
218
+ </td>
219
+ </tr>
220
+ <tr valign="top">
221
+ <td colspan="2">
222
+ <a href="https://trackship.info/documentation/" class="" style="margin-right: 10px;" target="blank"><?php _e( 'Documentation', 'woo-advanced-shipment-tracking' ); ?></a>
223
+ <a href="https://my.trackship.info/" class="" target="blank"><?php _e( 'TrackShip Dashboard', 'woo-advanced-shipment-tracking' ); ?></a>
224
+ </td>
225
+ </tr>
226
+ </tbody>
227
+ </table>
228
+
229
+ <?php } else{ ?>
230
+ <div class="section-content trackship_section">
231
+ <div class="trackship-upsell-overlay">
232
+ <div class="trackship-upsell-top">
233
+ <h3><img src="https://trackship.info/wp-content/uploads/2019/08/trackship-400.png" class="trackship_logo"></h3>
234
+ <p class="trackship-upsell-subtitle">TracksShip is a premium shipment tracking API flatform that fully integrates with WooCommerce with the Advanced Shipment Tracking. TrackShip automates the order management workflows, reduces customer inquiries, reduces time spent on customer service, and improves the post-purchase experience and satisfaction of your customers.</p>
235
+ <p class="trackship-upsell-subtitle">You must have account TracksShip and connect your store in order to activate these advanced features:</p>
236
+ </div>
237
+ <div class="trackship-upsell-content">
238
+ <ul>
239
+ <li>Automatically track your shipments with 100+ shipping providers.</li>
240
+ <li>Display Shipment Status and latest shipment status, update date and est. delivery date on WooCommerce orders admin.</li>
241
+ <li>Option to manually get shipment tracking updates for orders.</li>
242
+ <li>Automatically change order status to Delivered once the shipment is delivered to your customers.</li>
243
+ <li>Option to filter orders with invalid tracking numbers or by shipment status event in orders admin</li>
244
+ <li>Send personalized emails to notify the customer when their shipments are In Transit, Out For Delivery, Delivered or have an exception.</li>
245
+ <li>Direct customers to a Tracking page on your store.</li>
246
+ </ul>
247
+ <div class="text-center"><a href="https://trackship.info/?utm_source=wpadmin&utm_campaign=tspage" target="_blank" class="button-primary btn_green2 btn_large">SIGNUP NOW</a></div>
248
+ </div>
249
+ </div>
250
+ </div>
251
+ <?php } ?>
252
+ <div class="submit">
253
+ <a href="<?php echo admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking' ); ?>" class="button-primary btn_ast2 btn_large"><?php _e( 'Save', 'woo-advanced-shipment-tracking' ); ?></a>
254
+ </div>
255
+ </div>
256
+ </div>
257
+ </div>
258
+ <!---->
259
+ </div>
260
+ <?php }
261
+
262
+ /**
263
+ * Check if we should do any redirect.
264
+ */
265
+ public function maybe_redirect() {
266
+
267
+ // Bail if no activation redirect.
268
+ if ( ! get_transient( '_ast_activation_redirect' ) ) {
269
+ return;
270
+ }
271
+
272
+ // Delete the redirect transient.
273
+ delete_transient( '_ast_activation_redirect' );
274
+
275
+ // Bail if activating from network, or bulk.
276
+ if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) { // WPCS: CSRF ok, input var ok.
277
+ return;
278
+ }
279
+
280
+ $redirect = admin_url( 'index.php?page=ast-getting-started' );
281
+ wp_safe_redirect( $redirect );
282
+ exit;
283
+ }
284
+
285
+ /**
286
+ * Scripts for loading the welcome screen Vue instance.
287
+ */
288
+ public function welcome_scripts() {
289
+
290
+ if(!isset($_GET['page'])) {
291
+ return;
292
+ }
293
+
294
+ if( $_GET['page'] != 'ast-getting-started') {
295
+ return;
296
+ }
297
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
298
+
299
+ wp_enqueue_style( 'font-awesome', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/font-awesome.min.css', array(), '4.7' );
300
+
301
+ wp_register_script( 'select2', WC()->plugin_url() . '/assets/js/select2/select2.full' . $suffix . '.js', array( 'jquery' ), '4.0.3' );
302
+ wp_enqueue_script( 'select2');
303
+
304
+ wp_enqueue_style( 'shipment_tracking_styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/admin.css', array(), wc_advanced_shipment_tracking()->version );
305
+
306
+ wp_enqueue_script( 'woocommerce-advanced-shipment-tracking-js', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/admin.js', array( 'jquery' ), wc_advanced_shipment_tracking()->version);
307
+
308
+ wp_localize_script( 'woocommerce-advanced-shipment-tracking-js', 'ast_admin_js', array(
309
+ 'i18n' => array(
310
+ 'get_shipment_status_message' => __( 'Get Shipment Status is limited to 100 orders at a time, please select up to 100 orders.', 'woo-advanced-shipment-tracking' ),
311
+ ),
312
+ ) );
313
+
314
+ wp_register_script( 'selectWoo', WC()->plugin_url() . '/assets/js/selectWoo/selectWoo.full' . $suffix . '.js', array( 'jquery' ), '1.0.4' );
315
+ wp_register_script( 'wc-enhanced-select', WC()->plugin_url() . '/assets/js/admin/wc-enhanced-select' . $suffix . '.js', array( 'jquery', 'selectWoo' ), WC_VERSION );
316
+ wp_register_script( 'jquery-blockui', WC()->plugin_url() . '/assets/js/jquery-blockui/jquery.blockUI' . $suffix . '.js', array( 'jquery' ), '2.70', true );
317
+
318
+ wp_enqueue_script( 'selectWoo');
319
+ wp_enqueue_script( 'wc-enhanced-select');
320
+
321
+ wp_register_style( 'woocommerce_admin_styles', WC()->plugin_url() . '/assets/css/admin.css', array(), WC_VERSION );
322
+ wp_enqueue_style( 'woocommerce_admin_styles' );
323
+
324
+ wp_register_script( 'jquery-tiptip', WC()->plugin_url() . '/assets/js/jquery-tiptip/jquery.tipTip.min.js', array( 'jquery' ), WC_VERSION, true );
325
+ wp_enqueue_script( 'jquery-tiptip' );
326
+ wp_enqueue_script( 'jquery-blockui' );
327
+ wp_enqueue_script( 'wp-color-picker' );
328
+ wp_enqueue_script( 'jquery-ui-sortable' );
329
+ wp_enqueue_script('media-upload');
330
+ wp_enqueue_script('thickbox');
331
+ wp_enqueue_style('thickbox');
332
+
333
+ wp_enqueue_style( 'material-css', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/material.css', array(), wc_advanced_shipment_tracking()->version );
334
+ wp_enqueue_script( 'material-js', wc_advanced_shipment_tracking()->plugin_dir_url().'assets/js/material.min.js', array( 'jquery' ), wc_advanced_shipment_tracking()->version );
335
+
336
+ wp_enqueue_script( 'ajax-queue', wc_advanced_shipment_tracking()->plugin_dir_url().'assets/js/jquery.ajax.queue.js', array( 'jquery' ), wc_advanced_shipment_tracking()->version);
337
+
338
+ wp_enqueue_script( 'advanced_shipment_tracking_settings', wc_advanced_shipment_tracking()->plugin_dir_url().'assets/js/settings.js', array( 'jquery' ), wc_advanced_shipment_tracking()->version );
339
+
340
+ wp_enqueue_script( 'shipment_tracking_table_rows', wc_advanced_shipment_tracking()->plugin_dir_url().'assets/js/shipping_row.js' , array( 'jquery', 'wp-util' ), wc_advanced_shipment_tracking()->version );
341
+ wp_localize_script( 'shipment_tracking_table_rows', 'shipment_tracking_table_rows', array(
342
+ 'i18n' => array(
343
+ 'data_saved' => __( 'Data saved successfully.', 'woo-advanced-shipment-tracking' ),
344
+ 'delete_provider' => __( 'Really delete this entry? This will not be undo.', 'woo-advanced-shipment-tracking' ),
345
+ 'upload_only_csv_file' => __( 'You can upload only csv file.', 'woo-advanced-shipment-tracking' ),
346
+ 'browser_not_html' => __( 'This browser does not support HTML5.', 'woo-advanced-shipment-tracking' ),
347
+ 'upload_valid_csv_file' => __( 'Please upload a valid CSV file.', 'woo-advanced-shipment-tracking' ),
348
+ ),
349
+ 'delete_rates_nonce' => wp_create_nonce( "delete-rate" ),
350
+ ) );
351
+ wp_enqueue_media();
352
+
353
+ wp_enqueue_style( 'shipment_tracking_welcome_styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/welcome.css', array(), wc_advanced_shipment_tracking()->version );
354
+ wp_enqueue_script( 'shipment_tracking_welcome_script', wc_advanced_shipment_tracking()->plugin_dir_url().'assets/js/welcome.js', array( 'jquery' ), wc_advanced_shipment_tracking()->version );
355
+ }
356
+
357
+ public function remove_all_admin_notice(){
358
+ if( isset($_GET['page']) && $_GET['page'] == 'ast-getting-started'){
359
+ remove_all_actions('admin_notices');
360
+ remove_all_actions('all_admin_notices');
361
+ }
362
+ }
363
+ }
364
+
365
+ new AST_Welcome();
includes/customizer/class-wc-availableforpickup-email-customizer.php CHANGED
@@ -1,7 +1,6 @@
1
  <?php
2
  /**
3
- * Customizer Setup and Custom Controls
4
- *
5
  */
6
 
7
  /**
@@ -10,6 +9,7 @@
10
  class wcast_availableforpickup_customizer_email {
11
  // Get our default values
12
  public function __construct() {
 
13
  // Get our Customizer defaults
14
  $this->defaults = $this->wcast_generate_defaults();
15
  $wc_ast_api_key = get_option('wc_ast_api_key');
@@ -47,7 +47,10 @@ class wcast_availableforpickup_customizer_email {
47
 
48
  }
49
 
50
- public function enqueue_preview_scripts() {
 
 
 
51
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
52
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
53
  // Send variables to Javascript
@@ -56,8 +59,9 @@ class wcast_availableforpickup_customizer_email {
56
  'site_title' => $this->get_blogname(),
57
  'order_number' => $preview_id,
58
  ));
59
- }
60
- /**
 
61
  * Get blog name formatted for emails.
62
  *
63
  * @return string
@@ -75,6 +79,7 @@ class wcast_availableforpickup_customizer_email {
75
  public static function is_own_preview_request() {
76
  return isset( $_REQUEST['wcast-availableforpickup-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-availableforpickup-email-customizer-preview'];
77
  }
 
78
  /**
79
  * Checks to see if we are opening our custom customizer controls
80
  *
@@ -110,6 +115,9 @@ class wcast_availableforpickup_customizer_email {
110
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
111
  }
112
 
 
 
 
113
  public function wcast_generate_defaults() {
114
  $customizer_defaults = array(
115
  'wcast_availableforpickup_email_subject' => __( 'Your order #{order_number} is available for pickup', 'woo-advanced-shipment-tracking' ),
@@ -197,8 +205,8 @@ class wcast_availableforpickup_customizer_email {
197
  );
198
  $wp_customize->add_control( 'wcast_availableforpickup_email_to',
199
  array(
200
- 'label' => __( 'To', 'woo-advanced-shipment-tracking' ),
201
- 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woo-advanced-shipment-tracking' ),
202
  'section' => 'customer_availableforpickup_email',
203
  'type' => 'text',
204
  'input_attrs' => array(
@@ -219,7 +227,7 @@ class wcast_availableforpickup_customizer_email {
219
  );
220
  $wp_customize->add_control( 'wcast_availableforpickup_email_subject',
221
  array(
222
- 'label' => __( 'Email subject', 'woo-advanced-shipment-tracking' ),
223
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
224
  'section' => 'customer_availableforpickup_email',
225
  'type' => 'text',
@@ -241,7 +249,7 @@ class wcast_availableforpickup_customizer_email {
241
  );
242
  $wp_customize->add_control( 'wcast_availableforpickup_email_heading',
243
  array(
244
- 'label' => __( 'Email heading', 'woo-advanced-shipment-tracking' ),
245
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
246
  'section' => 'customer_availableforpickup_email',
247
  'type' => 'text',
@@ -370,7 +378,7 @@ class wcast_availableforpickup_customizer_email {
370
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_availableforpickup_email_code_block',
371
  array(
372
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
373
- 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_username}<br>{order_number}<br>{est_delivery_date}</code>',
374
  'section' => 'customer_availableforpickup_email',
375
  )
376
  ) );
@@ -392,6 +400,9 @@ class wcast_availableforpickup_customizer_email {
392
  exit;
393
  }
394
 
 
 
 
395
  public function preview_availableforpickup_email(){
396
  // Load WooCommerce emails.
397
  $wc_emails = WC_Emails::instance();
@@ -413,7 +424,7 @@ class wcast_availableforpickup_customizer_email {
413
  $email = '';
414
 
415
  if($preview_id == '' || $preview_id == 'mockup') {
416
- $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select preview order.', 'woo-advanced-shipment-tracking' ) . '</div>';
417
  echo $content;
418
  return;
419
  }
@@ -434,6 +445,7 @@ class wcast_availableforpickup_customizer_email {
434
  }
435
 
436
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
 
437
  if($wcast_show_tracking_details == 1){
438
  ob_start();
439
  wc_get_template( 'emails/tracking-info.php', array(
@@ -441,6 +453,7 @@ class wcast_availableforpickup_customizer_email {
441
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
442
  $message .= ob_get_clean();
443
  }
 
444
  if($wcast_show_order_details == 1){
445
 
446
  ob_start();
@@ -456,6 +469,7 @@ class wcast_availableforpickup_customizer_email {
456
  );
457
  $message .= ob_get_clean();
458
  }
 
459
  if($wcast_show_billing_address == 1){
460
  ob_start();
461
  wc_get_template(
@@ -468,6 +482,7 @@ class wcast_availableforpickup_customizer_email {
468
  );
469
  $message .= ob_get_clean();
470
  }
 
471
  if($wcast_show_shipping_address == 1){
472
  ob_start();
473
  wc_get_template(
@@ -480,6 +495,7 @@ class wcast_availableforpickup_customizer_email {
480
  );
481
  $message .= ob_get_clean();
482
  }
 
483
  // create a new email
484
  $email = new WC_Email();
485
  $email->id = 'WC_Delivered_email';
@@ -490,6 +506,9 @@ class wcast_availableforpickup_customizer_email {
490
  echo $message;
491
  }
492
 
 
 
 
493
  public function _appendCampaignToString($match){
494
  $url = $match[2];
495
  if (strpos($url, '?') === false) {
1
  <?php
2
  /**
3
+ * Customizer Setup and Custom Controls
 
4
  */
5
 
6
  /**
9
  class wcast_availableforpickup_customizer_email {
10
  // Get our default values
11
  public function __construct() {
12
+
13
  // Get our Customizer defaults
14
  $this->defaults = $this->wcast_generate_defaults();
15
  $wc_ast_api_key = get_option('wc_ast_api_key');
47
 
48
  }
49
 
50
+ /**
51
+ * add css and js for preview
52
+ */
53
+ public function enqueue_preview_scripts() {
54
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
55
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
56
  // Send variables to Javascript
59
  'site_title' => $this->get_blogname(),
60
  'order_number' => $preview_id,
61
  ));
62
+ }
63
+
64
+ /**
65
  * Get blog name formatted for emails.
66
  *
67
  * @return string
79
  public static function is_own_preview_request() {
80
  return isset( $_REQUEST['wcast-availableforpickup-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-availableforpickup-email-customizer-preview'];
81
  }
82
+
83
  /**
84
  * Checks to see if we are opening our custom customizer controls
85
  *
115
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
116
  }
117
 
118
+ /**
119
+ * code for initialize default value for customizer
120
+ */
121
  public function wcast_generate_defaults() {
122
  $customizer_defaults = array(
123
  'wcast_availableforpickup_email_subject' => __( 'Your order #{order_number} is available for pickup', 'woo-advanced-shipment-tracking' ),
205
  );
206
  $wp_customize->add_control( 'wcast_availableforpickup_email_to',
207
  array(
208
+ 'label' => __( 'Recipient(s)', 'woocommerce' ),
209
+ 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woocommerce' ),
210
  'section' => 'customer_availableforpickup_email',
211
  'type' => 'text',
212
  'input_attrs' => array(
227
  );
228
  $wp_customize->add_control( 'wcast_availableforpickup_email_subject',
229
  array(
230
+ 'label' => __( 'Subject', 'woocommerce' ),
231
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
232
  'section' => 'customer_availableforpickup_email',
233
  'type' => 'text',
249
  );
250
  $wp_customize->add_control( 'wcast_availableforpickup_email_heading',
251
  array(
252
+ 'label' => __( 'Email heading', 'woocommerce' ),
253
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
254
  'section' => 'customer_availableforpickup_email',
255
  'type' => 'text',
378
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_availableforpickup_email_code_block',
379
  array(
380
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
381
+ 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_company_name}<br>{customer_username}<br>{order_number}<br>{est_delivery_date}</code>',
382
  'section' => 'customer_availableforpickup_email',
383
  )
384
  ) );
400
  exit;
401
  }
402
 
403
+ /**
404
+ * code for preview of available for pickup email
405
+ */
406
  public function preview_availableforpickup_email(){
407
  // Load WooCommerce emails.
408
  $wc_emails = WC_Emails::instance();
424
  $email = '';
425
 
426
  if($preview_id == '' || $preview_id == 'mockup') {
427
+ $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select order to preview.', 'woo-advanced-shipment-tracking' ) . '</div>';
428
  echo $content;
429
  return;
430
  }
445
  }
446
 
447
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
448
+
449
  if($wcast_show_tracking_details == 1){
450
  ob_start();
451
  wc_get_template( 'emails/tracking-info.php', array(
453
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
454
  $message .= ob_get_clean();
455
  }
456
+
457
  if($wcast_show_order_details == 1){
458
 
459
  ob_start();
469
  );
470
  $message .= ob_get_clean();
471
  }
472
+
473
  if($wcast_show_billing_address == 1){
474
  ob_start();
475
  wc_get_template(
482
  );
483
  $message .= ob_get_clean();
484
  }
485
+
486
  if($wcast_show_shipping_address == 1){
487
  ob_start();
488
  wc_get_template(
495
  );
496
  $message .= ob_get_clean();
497
  }
498
+
499
  // create a new email
500
  $email = new WC_Email();
501
  $email->id = 'WC_Delivered_email';
506
  echo $message;
507
  }
508
 
509
+ /**
510
+ * code for append analytics link in email content
511
+ */
512
  public function _appendCampaignToString($match){
513
  $url = $match[2];
514
  if (strpos($url, '?') === false) {
includes/customizer/class-wc-delivered-email-customizer.php CHANGED
@@ -49,7 +49,10 @@ class wcast_delivered_customizer_email {
49
 
50
  }
51
 
52
- public function enqueue_preview_scripts() {
 
 
 
53
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
54
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
55
  // Send variables to Javascript
@@ -58,8 +61,9 @@ class wcast_delivered_customizer_email {
58
  'site_title' => $this->get_blogname(),
59
  'order_number' => $preview_id,
60
  ));
61
- }
62
- /**
 
63
  * Get blog name formatted for emails.
64
  *
65
  * @return string
@@ -67,6 +71,7 @@ class wcast_delivered_customizer_email {
67
  public function get_blogname() {
68
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
69
  }
 
70
  /**
71
  * Checks to see if we are opening our custom customizer preview
72
  *
@@ -76,6 +81,7 @@ class wcast_delivered_customizer_email {
76
  public static function is_own_preview_request() {
77
  return isset( $_REQUEST['wcast-delivered-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-delivered-email-customizer-preview'];
78
  }
 
79
  /**
80
  * Checks to see if we are opening our custom customizer controls
81
  *
@@ -84,21 +90,22 @@ class wcast_delivered_customizer_email {
84
  */
85
  public static function is_own_customizer_request() {
86
  return isset( $_REQUEST['email'] ) && $_REQUEST['email'] === 'customer_delivered_status_email';
87
- }
 
88
  /**
89
  * Get Customizer URL
90
  *
91
  */
92
  public static function get_customizer_url($email,$return_tab) {
93
- $customizer_url = add_query_arg( array(
94
- 'wcast-customizer' => '1',
95
- 'email' => $email,
96
- 'url' => urlencode( add_query_arg( array( 'wcast-delivered-email-customizer-preview' => '1' ), home_url( '/' ) ) ),
97
- 'return' => urlencode( wcast_delivered_customizer_email::get_email_settings_page_url($return_tab) ),
98
- ), admin_url( 'customize.php' ) );
99
-
100
  return $customizer_url;
101
- }
 
102
  /**
103
  * Get WooCommerce email settings page URL
104
  *
@@ -109,6 +116,9 @@ class wcast_delivered_customizer_email {
109
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
110
  }
111
 
 
 
 
112
  public function wcast_generate_defaults() {
113
  $customizer_defaults = array(
114
  'wcast_delivered_status_email_subject' => __( 'Your order #{order_number} has been delivered', 'woo-advanced-shipment-tracking' ),
@@ -196,8 +206,8 @@ class wcast_delivered_customizer_email {
196
  );
197
  $wp_customize->add_control( 'wcast_delivered_status_email_to',
198
  array(
199
- 'label' => __( 'To', 'woo-advanced-shipment-tracking' ),
200
- 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woo-advanced-shipment-tracking' ),
201
  'section' => 'customer_delivered_status_email',
202
  'type' => 'text',
203
  'input_attrs' => array(
@@ -218,7 +228,7 @@ class wcast_delivered_customizer_email {
218
  );
219
  $wp_customize->add_control( 'wcast_delivered_status_email_subject',
220
  array(
221
- 'label' => __( 'Email subject', 'woo-advanced-shipment-tracking' ),
222
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
223
  'section' => 'customer_delivered_status_email',
224
  'type' => 'text',
@@ -240,7 +250,7 @@ class wcast_delivered_customizer_email {
240
  );
241
  $wp_customize->add_control( 'wcast_delivered_status_email_heading',
242
  array(
243
- 'label' => __( 'Email heading', 'woo-advanced-shipment-tracking' ),
244
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
245
  'section' => 'customer_delivered_status_email',
246
  'type' => 'text',
@@ -370,7 +380,7 @@ class wcast_delivered_customizer_email {
370
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_delivered_status_email_code_block',
371
  array(
372
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
373
- 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_username}<br>{order_number}<br>{est_delivery_date}</code>',
374
  'section' => 'customer_delivered_status_email',
375
  )
376
  ) );
@@ -392,6 +402,9 @@ class wcast_delivered_customizer_email {
392
  exit;
393
  }
394
 
 
 
 
395
  public function preview_delivered_email(){
396
  // Load WooCommerce emails.
397
  $wc_emails = WC_Emails::instance();
@@ -413,7 +426,7 @@ class wcast_delivered_customizer_email {
413
  $email = '';
414
 
415
  if($preview_id == '' || $preview_id == 'mockup') {
416
- $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select preview order.', 'woo-advanced-shipment-tracking' ) . '</div>';
417
  echo $content;
418
  return;
419
  }
@@ -434,6 +447,7 @@ class wcast_delivered_customizer_email {
434
  }
435
 
436
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
 
437
  if($wcast_show_tracking_details == 1){
438
  ob_start();
439
  wc_get_template( 'emails/tracking-info.php', array(
@@ -441,6 +455,7 @@ class wcast_delivered_customizer_email {
441
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
442
  $message .= ob_get_clean();
443
  }
 
444
  if($wcast_show_order_details == 1){
445
 
446
  ob_start();
@@ -456,6 +471,7 @@ class wcast_delivered_customizer_email {
456
  );
457
  $message .= ob_get_clean();
458
  }
 
459
  if($wcast_show_billing_address == 1){
460
  ob_start();
461
  wc_get_template(
@@ -468,6 +484,7 @@ class wcast_delivered_customizer_email {
468
  );
469
  $message .= ob_get_clean();
470
  }
 
471
  if($wcast_show_shipping_address == 1){
472
  ob_start();
473
  wc_get_template(
@@ -480,16 +497,19 @@ class wcast_delivered_customizer_email {
480
  );
481
  $message .= ob_get_clean();
482
  }
 
483
  // create a new email
484
  $email = new WC_Email();
485
  $email->id = 'WC_Delivered_email';
486
- //echo '<pre>';print_r($email);echo '</pre>';
487
  // wrap the content with the email template and then add styles
488
  $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
489
-
490
  echo $message;
491
  }
492
 
 
 
 
493
  public function _appendCampaignToString($match){
494
  $url = $match[2];
495
  if (strpos($url, '?') === false) {
49
 
50
  }
51
 
52
+ /**
53
+ * add css and js for preview
54
+ */
55
+ public function enqueue_preview_scripts() {
56
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
57
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
58
  // Send variables to Javascript
61
  'site_title' => $this->get_blogname(),
62
  'order_number' => $preview_id,
63
  ));
64
+ }
65
+
66
+ /**
67
  * Get blog name formatted for emails.
68
  *
69
  * @return string
71
  public function get_blogname() {
72
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
73
  }
74
+
75
  /**
76
  * Checks to see if we are opening our custom customizer preview
77
  *
81
  public static function is_own_preview_request() {
82
  return isset( $_REQUEST['wcast-delivered-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-delivered-email-customizer-preview'];
83
  }
84
+
85
  /**
86
  * Checks to see if we are opening our custom customizer controls
87
  *
90
  */
91
  public static function is_own_customizer_request() {
92
  return isset( $_REQUEST['email'] ) && $_REQUEST['email'] === 'customer_delivered_status_email';
93
+ }
94
+
95
  /**
96
  * Get Customizer URL
97
  *
98
  */
99
  public static function get_customizer_url($email,$return_tab) {
100
+ $customizer_url = add_query_arg( array(
101
+ 'wcast-customizer' => '1',
102
+ 'email' => $email,
103
+ 'url' => urlencode( add_query_arg( array( 'wcast-delivered-email-customizer-preview' => '1' ), home_url( '/' ) ) ),
104
+ 'return' => urlencode( wcast_delivered_customizer_email::get_email_settings_page_url($return_tab) ),
105
+ ), admin_url( 'customize.php' ) );
 
106
  return $customizer_url;
107
+ }
108
+
109
  /**
110
  * Get WooCommerce email settings page URL
111
  *
116
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
117
  }
118
 
119
+ /**
120
+ * code for initialize default value for customizer
121
+ */
122
  public function wcast_generate_defaults() {
123
  $customizer_defaults = array(
124
  'wcast_delivered_status_email_subject' => __( 'Your order #{order_number} has been delivered', 'woo-advanced-shipment-tracking' ),
206
  );
207
  $wp_customize->add_control( 'wcast_delivered_status_email_to',
208
  array(
209
+ 'label' => __( 'Recipient(s)', 'woocommerce' ),
210
+ 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woocommerce' ),
211
  'section' => 'customer_delivered_status_email',
212
  'type' => 'text',
213
  'input_attrs' => array(
228
  );
229
  $wp_customize->add_control( 'wcast_delivered_status_email_subject',
230
  array(
231
+ 'label' => __( 'Subject', 'woocommerce' ),
232
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
233
  'section' => 'customer_delivered_status_email',
234
  'type' => 'text',
250
  );
251
  $wp_customize->add_control( 'wcast_delivered_status_email_heading',
252
  array(
253
+ 'label' => __( 'Email heading', 'woocommerce' ),
254
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
255
  'section' => 'customer_delivered_status_email',
256
  'type' => 'text',
380
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_delivered_status_email_code_block',
381
  array(
382
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
383
+ 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_company_name}<br>{customer_username}<br>{order_number}<br>{est_delivery_date}</code>',
384
  'section' => 'customer_delivered_status_email',
385
  )
386
  ) );
402
  exit;
403
  }
404
 
405
+ /**
406
+ * code for preview of delivered email
407
+ */
408
  public function preview_delivered_email(){
409
  // Load WooCommerce emails.
410
  $wc_emails = WC_Emails::instance();
426
  $email = '';
427
 
428
  if($preview_id == '' || $preview_id == 'mockup') {
429
+ $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select order to preview.', 'woo-advanced-shipment-tracking' ) . '</div>';
430
  echo $content;
431
  return;
432
  }
447
  }
448
 
449
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
450
+
451
  if($wcast_show_tracking_details == 1){
452
  ob_start();
453
  wc_get_template( 'emails/tracking-info.php', array(
455
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
456
  $message .= ob_get_clean();
457
  }
458
+
459
  if($wcast_show_order_details == 1){
460
 
461
  ob_start();
471
  );
472
  $message .= ob_get_clean();
473
  }
474
+
475
  if($wcast_show_billing_address == 1){
476
  ob_start();
477
  wc_get_template(
484
  );
485
  $message .= ob_get_clean();
486
  }
487
+
488
  if($wcast_show_shipping_address == 1){
489
  ob_start();
490
  wc_get_template(
497
  );
498
  $message .= ob_get_clean();
499
  }
500
+
501
  // create a new email
502
  $email = new WC_Email();
503
  $email->id = 'WC_Delivered_email';
504
+
505
  // wrap the content with the email template and then add styles
506
  $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
 
507
  echo $message;
508
  }
509
 
510
+ /**
511
+ * code for append analytics link in email content
512
+ */
513
  public function _appendCampaignToString($match){
514
  $url = $match[2];
515
  if (strpos($url, '?') === false) {
includes/customizer/class-wc-email-customizer.php CHANGED
@@ -40,28 +40,29 @@ class wcast_initialise_customizer_email {
40
 
41
  add_action( 'parse_request', array( $this, 'set_up_preview' ) );
42
 
43
- add_action( 'customize_preview_init', array( $this, 'enqueue_preview_scripts' ) );
44
-
45
  }
46
 
47
- public function enqueue_preview_scripts() {
48
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
49
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
50
- // Send variables to Javascript
51
  $preview_id = get_theme_mod('wcast_email_preview_order_id');
52
  wp_localize_script('wcast-email-preview-scripts', 'wcast_preview', array(
53
  'site_title' => $this->get_blogname(),
54
  'order_number' => $preview_id,
55
  ));
56
- }
57
- /**
58
- * Get blog name formatted for emails.
59
- *
60
- * @return string
61
- */
 
62
  public function get_blogname() {
63
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
64
- }
 
65
  /**
66
  * Checks to see if we are opening our custom customizer preview
67
  *
@@ -71,6 +72,7 @@ class wcast_initialise_customizer_email {
71
  public static function is_own_preview_request() {
72
  return isset( $_REQUEST['wcast-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-email-customizer-preview'];
73
  }
 
74
  /**
75
  * Checks to see if we are opening our custom customizer controls
76
  *
@@ -86,15 +88,16 @@ class wcast_initialise_customizer_email {
86
  *
87
  */
88
  public static function get_customizer_url($email) {
89
- $customizer_url = add_query_arg( array(
90
- 'wcast-customizer' => '1',
91
- 'email' => $email,
92
- 'url' => urlencode( add_query_arg( array( 'wcast-email-customizer-preview' => '1' ), home_url( '/' ) ) ),
93
- 'return' => urlencode( wcast_initialise_customizer_email::get_email_settings_page_url() ),
94
- ), admin_url( 'customize.php' ) );
95
 
96
- return $customizer_url;
97
  }
 
98
  /**
99
  * Get Customizer URL
100
  *
@@ -108,6 +111,7 @@ class wcast_initialise_customizer_email {
108
 
109
  return $customizer_url;
110
  }
 
111
  /**
112
  * Get WooCommerce email settings page URL
113
  *
@@ -117,11 +121,15 @@ class wcast_initialise_customizer_email {
117
  public static function get_email_settings_page_url() {
118
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking' );
119
  }
 
 
 
 
120
  public function wcast_generate_defaults() {
121
  $customizer_defaults = array(
122
  'wcast_delivered_email_subject' => __( 'Your {site_title} order is now delivered', 'woo-advanced-shipment-tracking' ),
123
- 'wcast_delivered_email_heading' => __( 'Thanks for shopping with us', 'woo-advanced-shipment-tracking' ),
124
- 'wcast_delivered_email_content' => __( 'Hi there. Your recent order on {site_title} has been delivered.', 'woo-advanced-shipment-tracking' ),
125
  'wcast_enable_delivered_email' => 'no',
126
  'wcast_delivered_email_to' => '{customer_email}',
127
  'wcast_show_tracking_details' => '',
@@ -158,7 +166,7 @@ class wcast_initialise_customizer_email {
158
  )
159
  ) );
160
  // Display Shipment Provider image/thumbnail
161
- $wp_customize->add_setting( 'woocommerce_customer_delivered_order_settings[enabled]',
162
  array(
163
  'default' => $this->defaults['wcast_enable_delivered_email'],
164
  'transport' => 'postMessage',
@@ -166,7 +174,7 @@ class wcast_initialise_customizer_email {
166
  'sanitize_callback' => ''
167
  )
168
  );
169
- $wp_customize->add_control( 'woocommerce_customer_delivered_order_settings[enabled]',
170
  array(
171
  'label' => __( 'Enable Delivered order status email', 'woo-advanced-shipment-tracking' ),
172
  'description' => esc_html__( '', 'woo-advanced-shipment-tracking' ),
@@ -208,8 +216,8 @@ class wcast_initialise_customizer_email {
208
  );
209
  $wp_customize->add_control( 'woocommerce_customer_delivered_order_settings[recipient]',
210
  array(
211
- 'label' => __( 'Receipts', 'woo-advanced-shipment-tracking' ),
212
- 'description' => esc_html__( 'Enter emails use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woo-advanced-shipment-tracking' ),
213
  'section' => 'customer_delivered_email',
214
  'type' => 'text',
215
  'input_attrs' => array(
@@ -231,7 +239,7 @@ class wcast_initialise_customizer_email {
231
  );
232
  $wp_customize->add_control( 'woocommerce_customer_delivered_order_settings[subject]',
233
  array(
234
- 'label' => __( 'Email subject', 'woo-advanced-shipment-tracking' ),
235
  'description' => esc_html__( 'Available variables: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
236
  'section' => 'customer_delivered_email',
237
  'type' => 'text',
@@ -254,7 +262,7 @@ class wcast_initialise_customizer_email {
254
  );
255
  $wp_customize->add_control( 'woocommerce_customer_delivered_order_settings[heading]',
256
  array(
257
- 'label' => __( 'Email heading', 'woo-advanced-shipment-tracking' ),
258
  'description' => esc_html__( 'Available variables: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
259
  'section' => 'customer_delivered_email',
260
  'type' => 'text',
@@ -403,14 +411,12 @@ class wcast_initialise_customizer_email {
403
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_email_code_block',
404
  array(
405
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
406
- 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_username}<br>{order_number}</code>',
407
  'section' => 'customer_delivered_email',
408
  )
409
  ) );
410
  }
411
-
412
-
413
-
414
  /**
415
  * Set up preview
416
  *
@@ -427,6 +433,9 @@ class wcast_initialise_customizer_email {
427
  exit;
428
  }
429
 
 
 
 
430
  public function preview_delivered_email(){
431
  // Load WooCommerce emails.
432
  $wc_emails = WC_Emails::instance();
@@ -434,7 +443,7 @@ class wcast_initialise_customizer_email {
434
  $preview_id = get_theme_mod('wcast_email_preview_order_id');
435
 
436
  if($preview_id == '' || $preview_id == 'mockup') {
437
- $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select preview order.', 'woo-advanced-shipment-tracking' ) . '</div>';
438
  echo $content;
439
  return;
440
  }
@@ -477,7 +486,8 @@ class wcast_initialise_customizer_email {
477
  $content = apply_filters( 'woocommerce_mail_content', $content );
478
 
479
  echo $content;
480
- }
 
481
  /**
482
  * Get WooCommerce order for preview
483
  *
@@ -533,10 +543,27 @@ class wcast_initialise_customizer_email {
533
  return $order;
534
  }
535
 
536
- }
537
  }
538
  /**
539
  * Initialise our Customizer settings
540
  */
541
 
542
- $wcast_customizer_settings = new wcast_initialise_customizer_email();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
  add_action( 'parse_request', array( $this, 'set_up_preview' ) );
42
 
43
+ add_action( 'customize_preview_init', array( $this, 'enqueue_preview_scripts' ) );
 
44
  }
45
 
46
+ public function enqueue_preview_scripts() {
47
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
48
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
49
+ // Send variables to Javascript
50
  $preview_id = get_theme_mod('wcast_email_preview_order_id');
51
  wp_localize_script('wcast-email-preview-scripts', 'wcast_preview', array(
52
  'site_title' => $this->get_blogname(),
53
  'order_number' => $preview_id,
54
  ));
55
+ }
56
+
57
+ /**
58
+ * Get blog name formatted for emails.
59
+ *
60
+ * @return string
61
+ */
62
  public function get_blogname() {
63
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
64
+ }
65
+
66
  /**
67
  * Checks to see if we are opening our custom customizer preview
68
  *
72
  public static function is_own_preview_request() {
73
  return isset( $_REQUEST['wcast-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-email-customizer-preview'];
74
  }
75
+
76
  /**
77
  * Checks to see if we are opening our custom customizer controls
78
  *
88
  *
89
  */
90
  public static function get_customizer_url($email) {
91
+ $customizer_url = add_query_arg( array(
92
+ 'wcast-customizer' => '1',
93
+ 'email' => $email,
94
+ 'url' => urlencode( add_query_arg( array( 'wcast-email-customizer-preview' => '1' ), home_url( '/' ) ) ),
95
+ 'return' => urlencode( wcast_initialise_customizer_email::get_email_settings_page_url() ),
96
+ ), admin_url( 'customize.php' ) );
97
 
98
+ return $customizer_url;
99
  }
100
+
101
  /**
102
  * Get Customizer URL
103
  *
111
 
112
  return $customizer_url;
113
  }
114
+
115
  /**
116
  * Get WooCommerce email settings page URL
117
  *
121
  public static function get_email_settings_page_url() {
122
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking' );
123
  }
124
+
125
+ /**
126
+ * code for initialize default value for customizer
127
+ */
128
  public function wcast_generate_defaults() {
129
  $customizer_defaults = array(
130
  'wcast_delivered_email_subject' => __( 'Your {site_title} order is now delivered', 'woo-advanced-shipment-tracking' ),
131
+ 'wcast_delivered_email_heading' => __( 'Thanks for shopping with us', 'woocommerce' ),
132
+ 'wcast_delivered_email_content' => __( "Hi there. we thought you'd like to know that your recent order from {site_title} has been Delivered.", 'woo-advanced-shipment-tracking' ),
133
  'wcast_enable_delivered_email' => 'no',
134
  'wcast_delivered_email_to' => '{customer_email}',
135
  'wcast_show_tracking_details' => '',
166
  )
167
  ) );
168
  // Display Shipment Provider image/thumbnail
169
+ $wp_customize->add_setting( 'customizer_delivered_order_settings_enabled',
170
  array(
171
  'default' => $this->defaults['wcast_enable_delivered_email'],
172
  'transport' => 'postMessage',
174
  'sanitize_callback' => ''
175
  )
176
  );
177
+ $wp_customize->add_control( 'customizer_delivered_order_settings_enabled',
178
  array(
179
  'label' => __( 'Enable Delivered order status email', 'woo-advanced-shipment-tracking' ),
180
  'description' => esc_html__( '', 'woo-advanced-shipment-tracking' ),
216
  );
217
  $wp_customize->add_control( 'woocommerce_customer_delivered_order_settings[recipient]',
218
  array(
219
+ 'label' => __( 'Recipient(s)', 'woocommerce' ),
220
+ 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woocommerce' ),
221
  'section' => 'customer_delivered_email',
222
  'type' => 'text',
223
  'input_attrs' => array(
239
  );
240
  $wp_customize->add_control( 'woocommerce_customer_delivered_order_settings[subject]',
241
  array(
242
+ 'label' => __( 'Subject', 'woocommerce' ),
243
  'description' => esc_html__( 'Available variables: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
244
  'section' => 'customer_delivered_email',
245
  'type' => 'text',
262
  );
263
  $wp_customize->add_control( 'woocommerce_customer_delivered_order_settings[heading]',
264
  array(
265
+ 'label' => __( 'Email heading', 'woocommerce' ),
266
  'description' => esc_html__( 'Available variables: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
267
  'section' => 'customer_delivered_email',
268
  'type' => 'text',
411
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_email_code_block',
412
  array(
413
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
414
+ 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_company_name}<br>{customer_username}<br>{order_number}</code>',
415
  'section' => 'customer_delivered_email',
416
  )
417
  ) );
418
  }
419
+
 
 
420
  /**
421
  * Set up preview
422
  *
433
  exit;
434
  }
435
 
436
+ /**
437
+ * code for preview of delivered order status email
438
+ */
439
  public function preview_delivered_email(){
440
  // Load WooCommerce emails.
441
  $wc_emails = WC_Emails::instance();
443
  $preview_id = get_theme_mod('wcast_email_preview_order_id');
444
 
445
  if($preview_id == '' || $preview_id == 'mockup') {
446
+ $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select order to preview.', 'woo-advanced-shipment-tracking' ) . '</div>';
447
  echo $content;
448
  return;
449
  }
486
  $content = apply_filters( 'woocommerce_mail_content', $content );
487
 
488
  echo $content;
489
+ }
490
+
491
  /**
492
  * Get WooCommerce order for preview
493
  *
543
  return $order;
544
  }
545
 
546
+ }
547
  }
548
  /**
549
  * Initialise our Customizer settings
550
  */
551
 
552
+ $wcast_customizer_settings = new wcast_initialise_customizer_email();
553
+ add_action( 'customize_save_customizer_delivered_order_settings_enabled', 'woocommerce_customer_delivered_order_settings_fun', 100, 1 );
554
+
555
+ /**
556
+ * Update Delivered order email enable/disable
557
+ *
558
+ */
559
+ function woocommerce_customer_delivered_order_settings_fun($data){
560
+ $post_values = json_decode( wp_unslash( $_POST['customized'] ), true );
561
+ $delivered_order_settings = get_option( 'woocommerce_customer_delivered_order_settings');
562
+
563
+ if(isset($post_values['customizer_delivered_order_settings_enabled']) && ($post_values['customizer_delivered_order_settings_enabled'] == 1)){
564
+ $delivered_order_settings['enabled'] = 'yes';
565
+ } else{
566
+ $delivered_order_settings['enabled'] = 'no';
567
+ }
568
+ update_option( 'woocommerce_customer_delivered_order_settings',$delivered_order_settings);
569
+ }
includes/customizer/class-wc-failure-email-customizer.php CHANGED
@@ -47,7 +47,10 @@ class wcast_failure_customizer_email {
47
 
48
  }
49
 
50
- public function enqueue_preview_scripts() {
 
 
 
51
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
52
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
53
  // Send variables to Javascript
@@ -56,8 +59,9 @@ class wcast_failure_customizer_email {
56
  'site_title' => $this->get_blogname(),
57
  'order_number' => $preview_id,
58
  ));
59
- }
60
- /**
 
61
  * Get blog name formatted for emails.
62
  *
63
  * @return string
@@ -65,6 +69,7 @@ class wcast_failure_customizer_email {
65
  public function get_blogname() {
66
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
67
  }
 
68
  /**
69
  * Checks to see if we are opening our custom customizer preview
70
  *
@@ -74,6 +79,7 @@ class wcast_failure_customizer_email {
74
  public static function is_own_preview_request() {
75
  return isset( $_REQUEST['wcast-failure-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-failure-email-customizer-preview'];
76
  }
 
77
  /**
78
  * Checks to see if we are opening our custom customizer controls
79
  *
@@ -83,6 +89,7 @@ class wcast_failure_customizer_email {
83
  public static function is_own_customizer_request() {
84
  return isset( $_REQUEST['email'] ) && $_REQUEST['email'] === 'customer_failure_email';
85
  }
 
86
  /**
87
  * Get Customizer URL
88
  *
@@ -97,6 +104,7 @@ class wcast_failure_customizer_email {
97
 
98
  return $customizer_url;
99
  }
 
100
  /**
101
  * Get WooCommerce email settings page URL
102
  *
@@ -107,6 +115,9 @@ class wcast_failure_customizer_email {
107
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
108
  }
109
 
 
 
 
110
  public function wcast_generate_defaults() {
111
  $customizer_defaults = array(
112
  'wcast_failure_email_subject' => __( 'Your order #{order_number} is Failed Attempt', 'woo-advanced-shipment-tracking' ),
@@ -123,6 +134,7 @@ class wcast_failure_customizer_email {
123
 
124
  return apply_filters( 'skyrocket_customizer_defaults', $customizer_defaults );
125
  }
 
126
  /**
127
  * Register our sample default controls
128
  */
@@ -193,8 +205,8 @@ class wcast_failure_customizer_email {
193
  );
194
  $wp_customize->add_control( 'wcast_failure_email_to',
195
  array(
196
- 'label' => __( 'To', 'woo-advanced-shipment-tracking' ),
197
- 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woo-advanced-shipment-tracking' ),
198
  'section' => 'customer_failure_email',
199
  'type' => 'text',
200
  'input_attrs' => array(
@@ -215,7 +227,7 @@ class wcast_failure_customizer_email {
215
  );
216
  $wp_customize->add_control( 'wcast_failure_email_subject',
217
  array(
218
- 'label' => __( 'Email subject', 'woo-advanced-shipment-tracking' ),
219
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
220
  'section' => 'customer_failure_email',
221
  'type' => 'text',
@@ -237,7 +249,7 @@ class wcast_failure_customizer_email {
237
  );
238
  $wp_customize->add_control( 'wcast_failure_email_heading',
239
  array(
240
- 'label' => __( 'Email heading', 'woo-advanced-shipment-tracking' ),
241
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
242
  'section' => 'customer_failure_email',
243
  'type' => 'text',
@@ -367,11 +379,12 @@ class wcast_failure_customizer_email {
367
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_failure_email_code_block',
368
  array(
369
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
370
- 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_username}<br>{order_number}<br>{est_delivery_date}</code>',
371
  'section' => 'customer_failure_email',
372
  )
373
  ) );
374
  }
 
375
  /**
376
  * Set up preview
377
  *
@@ -388,6 +401,9 @@ class wcast_failure_customizer_email {
388
  exit;
389
  }
390
 
 
 
 
391
  public function preview_failure_email(){
392
  // Load WooCommerce emails.
393
  $wc_emails = WC_Emails::instance();
@@ -409,7 +425,7 @@ class wcast_failure_customizer_email {
409
  $email = '';
410
 
411
  if($preview_id == '' || $preview_id == 'mockup') {
412
- $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select preview order.', 'woo-advanced-shipment-tracking' ) . '</div>';
413
  echo $content;
414
  return;
415
  }
@@ -430,6 +446,7 @@ class wcast_failure_customizer_email {
430
  }
431
 
432
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
 
433
  if($wcast_show_tracking_details == 1){
434
  ob_start();
435
  wc_get_template( 'emails/tracking-info.php', array(
@@ -437,6 +454,7 @@ class wcast_failure_customizer_email {
437
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
438
  $message .= ob_get_clean();
439
  }
 
440
  if($wcast_show_order_details == 1){
441
 
442
  ob_start();
@@ -452,6 +470,7 @@ class wcast_failure_customizer_email {
452
  );
453
  $message .= ob_get_clean();
454
  }
 
455
  if($wcast_show_billing_address == 1){
456
  ob_start();
457
  wc_get_template(
@@ -464,6 +483,7 @@ class wcast_failure_customizer_email {
464
  );
465
  $message .= ob_get_clean();
466
  }
 
467
  if($wcast_show_shipping_address == 1){
468
  ob_start();
469
  wc_get_template(
@@ -479,12 +499,15 @@ class wcast_failure_customizer_email {
479
  // create a new email
480
  $email = new WC_Email();
481
  $email->id = 'WC_Delivered_email';
482
- //echo '<pre>';print_r($email);echo '</pre>';
483
  // wrap the content with the email template and then add styles
484
  $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
485
-
486
  echo $message;
487
  }
 
 
 
 
488
  public function _appendCampaignToString($match){
489
  $url = $match[2];
490
  if (strpos($url, '?') === false) {
47
 
48
  }
49
 
50
+ /**
51
+ * add css and js for preview
52
+ */
53
+ public function enqueue_preview_scripts() {
54
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
55
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
56
  // Send variables to Javascript
59
  'site_title' => $this->get_blogname(),
60
  'order_number' => $preview_id,
61
  ));
62
+ }
63
+
64
+ /**
65
  * Get blog name formatted for emails.
66
  *
67
  * @return string
69
  public function get_blogname() {
70
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
71
  }
72
+
73
  /**
74
  * Checks to see if we are opening our custom customizer preview
75
  *
79
  public static function is_own_preview_request() {
80
  return isset( $_REQUEST['wcast-failure-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-failure-email-customizer-preview'];
81
  }
82
+
83
  /**
84
  * Checks to see if we are opening our custom customizer controls
85
  *
89
  public static function is_own_customizer_request() {
90
  return isset( $_REQUEST['email'] ) && $_REQUEST['email'] === 'customer_failure_email';
91
  }
92
+
93
  /**
94
  * Get Customizer URL
95
  *
104
 
105
  return $customizer_url;
106
  }
107
+
108
  /**
109
  * Get WooCommerce email settings page URL
110
  *
115
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
116
  }
117
 
118
+ /**
119
+ * code for initialize default value for customizer
120
+ */
121
  public function wcast_generate_defaults() {
122
  $customizer_defaults = array(
123
  'wcast_failure_email_subject' => __( 'Your order #{order_number} is Failed Attempt', 'woo-advanced-shipment-tracking' ),
134
 
135
  return apply_filters( 'skyrocket_customizer_defaults', $customizer_defaults );
136
  }
137
+
138
  /**
139
  * Register our sample default controls
140
  */
205
  );
206
  $wp_customize->add_control( 'wcast_failure_email_to',
207
  array(
208
+ 'label' => __( 'Recipient(s)', 'woocommerce' ),
209
+ 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woocommerce' ),
210
  'section' => 'customer_failure_email',
211
  'type' => 'text',
212
  'input_attrs' => array(
227
  );
228
  $wp_customize->add_control( 'wcast_failure_email_subject',
229
  array(
230
+ 'label' => __( 'Subject', 'woocommerce' ),
231
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
232
  'section' => 'customer_failure_email',
233
  'type' => 'text',
249
  );
250
  $wp_customize->add_control( 'wcast_failure_email_heading',
251
  array(
252
+ 'label' => __( 'Email heading', 'woocommerce' ),
253
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
254
  'section' => 'customer_failure_email',
255
  'type' => 'text',
379
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_failure_email_code_block',
380
  array(
381
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
382
+ 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_company_name}<br>{customer_username}<br>{order_number}<br>{est_delivery_date}</code>',
383
  'section' => 'customer_failure_email',
384
  )
385
  ) );
386
  }
387
+
388
  /**
389
  * Set up preview
390
  *
401
  exit;
402
  }
403
 
404
+ /**
405
+ * code for preview of failure email
406
+ */
407
  public function preview_failure_email(){
408
  // Load WooCommerce emails.
409
  $wc_emails = WC_Emails::instance();
425
  $email = '';
426
 
427
  if($preview_id == '' || $preview_id == 'mockup') {
428
+ $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select order to preview.', 'woo-advanced-shipment-tracking' ) . '</div>';
429
  echo $content;
430
  return;
431
  }
446
  }
447
 
448
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
449
+
450
  if($wcast_show_tracking_details == 1){
451
  ob_start();
452
  wc_get_template( 'emails/tracking-info.php', array(
454
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
455
  $message .= ob_get_clean();
456
  }
457
+
458
  if($wcast_show_order_details == 1){
459
 
460
  ob_start();
470
  );
471
  $message .= ob_get_clean();
472
  }
473
+
474
  if($wcast_show_billing_address == 1){
475
  ob_start();
476
  wc_get_template(
483
  );
484
  $message .= ob_get_clean();
485
  }
486
+
487
  if($wcast_show_shipping_address == 1){
488
  ob_start();
489
  wc_get_template(
499
  // create a new email
500
  $email = new WC_Email();
501
  $email->id = 'WC_Delivered_email';
502
+
503
  // wrap the content with the email template and then add styles
504
  $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
 
505
  echo $message;
506
  }
507
+
508
+ /**
509
+ * code for append analytics link in email content
510
+ */
511
  public function _appendCampaignToString($match){
512
  $url = $match[2];
513
  if (strpos($url, '?') === false) {
includes/customizer/class-wc-intransit-email-customizer.php CHANGED
@@ -14,6 +14,7 @@ class wcast_intransit_customizer_email {
14
  $this->defaults = $this->wcast_generate_defaults();
15
 
16
  $wc_ast_api_key = get_option('wc_ast_api_key');
 
17
  if(!$wc_ast_api_key){
18
  return;
19
  }
@@ -49,7 +50,10 @@ class wcast_intransit_customizer_email {
49
 
50
  }
51
 
52
- public function enqueue_preview_scripts() {
 
 
 
53
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
54
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
55
  // Send variables to Javascript
@@ -58,8 +62,9 @@ class wcast_intransit_customizer_email {
58
  'site_title' => $this->get_blogname(),
59
  'order_number' => $preview_id,
60
  ));
61
- }
62
- /**
 
63
  * Get blog name formatted for emails.
64
  *
65
  * @return string
@@ -67,6 +72,7 @@ class wcast_intransit_customizer_email {
67
  public function get_blogname() {
68
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
69
  }
 
70
  /**
71
  * Checks to see if we are opening our custom customizer preview
72
  *
@@ -76,6 +82,7 @@ class wcast_intransit_customizer_email {
76
  public static function is_own_preview_request() {
77
  return isset( $_REQUEST['wcast-intransit-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-intransit-email-customizer-preview'];
78
  }
 
79
  /**
80
  * Checks to see if we are opening our custom customizer controls
81
  *
@@ -85,6 +92,7 @@ class wcast_intransit_customizer_email {
85
  public static function is_own_customizer_request() {
86
  return isset( $_REQUEST['email'] ) && $_REQUEST['email'] === 'customer_intransit_email';
87
  }
 
88
  /**
89
  * Get Customizer URL
90
  *
@@ -99,6 +107,7 @@ class wcast_intransit_customizer_email {
99
 
100
  return $customizer_url;
101
  }
 
102
  /**
103
  * Get WooCommerce email settings page URL
104
  *
@@ -109,6 +118,9 @@ class wcast_intransit_customizer_email {
109
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
110
  }
111
 
 
 
 
112
  public function wcast_generate_defaults() {
113
  $customizer_defaults = array(
114
  'wcast_intransit_email_subject' => __( 'Your order #{order_number} is in transit', 'woo-advanced-shipment-tracking' ),
@@ -125,6 +137,7 @@ class wcast_intransit_customizer_email {
125
 
126
  return apply_filters( 'skyrocket_customizer_defaults', $customizer_defaults );
127
  }
 
128
  /**
129
  * Register our sample default controls
130
  */
@@ -196,8 +209,8 @@ class wcast_intransit_customizer_email {
196
  );
197
  $wp_customize->add_control( 'wcast_intransit_email_to',
198
  array(
199
- 'label' => __( 'To', 'woo-advanced-shipment-tracking' ),
200
- 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woo-advanced-shipment-tracking' ),
201
  'section' => 'customer_intransit_email',
202
  'type' => 'text',
203
  'input_attrs' => array(
@@ -218,7 +231,7 @@ class wcast_intransit_customizer_email {
218
  );
219
  $wp_customize->add_control( 'wcast_intransit_email_subject',
220
  array(
221
- 'label' => __( 'Email subject', 'woo-advanced-shipment-tracking' ),
222
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
223
  'section' => 'customer_intransit_email',
224
  'type' => 'text',
@@ -240,7 +253,7 @@ class wcast_intransit_customizer_email {
240
  );
241
  $wp_customize->add_control( 'wcast_intransit_email_heading',
242
  array(
243
- 'label' => __( 'Email heading', 'woo-advanced-shipment-tracking' ),
244
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
245
  'section' => 'customer_intransit_email',
246
  'type' => 'text',
@@ -370,11 +383,12 @@ class wcast_intransit_customizer_email {
370
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_intransit_email_code_block',
371
  array(
372
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
373
- 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_username}<br>{order_number}<br>{est_delivery_date}</code>',
374
  'section' => 'customer_intransit_email',
375
  )
376
  ) );
377
  }
 
378
  /**
379
  * Set up preview
380
  *
@@ -391,13 +405,15 @@ class wcast_intransit_customizer_email {
391
  exit;
392
  }
393
 
 
 
 
394
  public function preview_intransit_email(){
395
  // Load WooCommerce emails.
396
  $wc_emails = WC_Emails::instance();
397
  $emails = $wc_emails->get_emails();
398
  $preview_id = get_theme_mod('wcast_intransit_email_preview_order_id');
399
-
400
-
401
  $email_heading = get_theme_mod('wcast_intransit_email_heading');
402
  $email_heading = str_replace( '{site_title}', $this->get_blogname(), $email_heading );
403
  $email_heading = str_replace( '{order_number}', $preview_id, $email_heading );
@@ -412,10 +428,11 @@ class wcast_intransit_customizer_email {
412
  $email = '';
413
 
414
  if($preview_id == '' || $preview_id == 'mockup') {
415
- $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select preview order.', 'woo-advanced-shipment-tracking' ) . '</div>';
416
  echo $content;
417
  return;
418
  }
 
419
  $order = wc_get_order( $preview_id );
420
  $mailer = WC()->mailer();
421
 
@@ -433,6 +450,7 @@ class wcast_intransit_customizer_email {
433
  }
434
 
435
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
 
436
  if($wcast_show_tracking_details == 1){
437
  ob_start();
438
  wc_get_template( 'emails/tracking-info.php', array(
@@ -440,8 +458,8 @@ class wcast_intransit_customizer_email {
440
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
441
  $message .= ob_get_clean();
442
  }
443
- if($wcast_show_order_details == 1){
444
-
445
  ob_start();
446
  wc_get_template(
447
  'emails/wcast-email-order-details.php', array(
@@ -455,6 +473,7 @@ class wcast_intransit_customizer_email {
455
  );
456
  $message .= ob_get_clean();
457
  }
 
458
  if($wcast_show_billing_address == 1){
459
  ob_start();
460
  wc_get_template(
@@ -467,6 +486,7 @@ class wcast_intransit_customizer_email {
467
  );
468
  $message .= ob_get_clean();
469
  }
 
470
  if($wcast_show_shipping_address == 1){
471
  ob_start();
472
  wc_get_template(
@@ -481,14 +501,15 @@ class wcast_intransit_customizer_email {
481
  }
482
  // create a new email
483
  $email = new WC_Email();
484
- $email->id = 'WC_Delivered_email';
485
- //echo '<pre>';print_r($email);echo '</pre>';
486
  // wrap the content with the email template and then add styles
487
  $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
488
-
489
  echo $message;
490
  }
491
-
 
 
 
492
  public function _appendCampaignToString($match){
493
  $url = $match[2];
494
  if (strpos($url, '?') === false) {
14
  $this->defaults = $this->wcast_generate_defaults();
15
 
16
  $wc_ast_api_key = get_option('wc_ast_api_key');
17
+
18
  if(!$wc_ast_api_key){
19
  return;
20
  }
50
 
51
  }
52
 
53
+ /**
54
+ * add css and js for preview
55
+ */
56
+ public function enqueue_preview_scripts() {
57
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
58
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
59
  // Send variables to Javascript
62
  'site_title' => $this->get_blogname(),
63
  'order_number' => $preview_id,
64
  ));
65
+ }
66
+
67
+ /**
68
  * Get blog name formatted for emails.
69
  *
70
  * @return string
72
  public function get_blogname() {
73
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
74
  }
75
+
76
  /**
77
  * Checks to see if we are opening our custom customizer preview
78
  *
82
  public static function is_own_preview_request() {
83
  return isset( $_REQUEST['wcast-intransit-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-intransit-email-customizer-preview'];
84
  }
85
+
86
  /**
87
  * Checks to see if we are opening our custom customizer controls
88
  *
92
  public static function is_own_customizer_request() {
93
  return isset( $_REQUEST['email'] ) && $_REQUEST['email'] === 'customer_intransit_email';
94
  }
95
+
96
  /**
97
  * Get Customizer URL
98
  *
107
 
108
  return $customizer_url;
109
  }
110
+
111
  /**
112
  * Get WooCommerce email settings page URL
113
  *
118
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
119
  }
120
 
121
+ /**
122
+ * code for initialize default value for customizer
123
+ */
124
  public function wcast_generate_defaults() {
125
  $customizer_defaults = array(
126
  'wcast_intransit_email_subject' => __( 'Your order #{order_number} is in transit', 'woo-advanced-shipment-tracking' ),
137
 
138
  return apply_filters( 'skyrocket_customizer_defaults', $customizer_defaults );
139
  }
140
+
141
  /**
142
  * Register our sample default controls
143
  */
209
  );
210
  $wp_customize->add_control( 'wcast_intransit_email_to',
211
  array(
212
+ 'label' => __( 'Recipient(s)', 'woocommerce' ),
213
+ 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woocommerce' ),
214
  'section' => 'customer_intransit_email',
215
  'type' => 'text',
216
  'input_attrs' => array(
231
  );
232
  $wp_customize->add_control( 'wcast_intransit_email_subject',
233
  array(
234
+ 'label' => __( 'Subject', 'woocommerce' ),
235
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
236
  'section' => 'customer_intransit_email',
237
  'type' => 'text',
253
  );
254
  $wp_customize->add_control( 'wcast_intransit_email_heading',
255
  array(
256
+ 'label' => __( 'Email heading', 'woocommerce' ),
257
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
258
  'section' => 'customer_intransit_email',
259
  'type' => 'text',
383
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_intransit_email_code_block',
384
  array(
385
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
386
+ 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_company_name}<br>{customer_username}<br>{order_number}<br>{est_delivery_date}</code>',
387
  'section' => 'customer_intransit_email',
388
  )
389
  ) );
390
  }
391
+
392
  /**
393
  * Set up preview
394
  *
405
  exit;
406
  }
407
 
408
+ /**
409
+ * code for preview of in transit email
410
+ */
411
  public function preview_intransit_email(){
412
  // Load WooCommerce emails.
413
  $wc_emails = WC_Emails::instance();
414
  $emails = $wc_emails->get_emails();
415
  $preview_id = get_theme_mod('wcast_intransit_email_preview_order_id');
416
+
 
417
  $email_heading = get_theme_mod('wcast_intransit_email_heading');
418
  $email_heading = str_replace( '{site_title}', $this->get_blogname(), $email_heading );
419
  $email_heading = str_replace( '{order_number}', $preview_id, $email_heading );
428
  $email = '';
429
 
430
  if($preview_id == '' || $preview_id == 'mockup') {
431
+ $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select order to preview.', 'woo-advanced-shipment-tracking' ) . '</div>';
432
  echo $content;
433
  return;
434
  }
435
+
436
  $order = wc_get_order( $preview_id );
437
  $mailer = WC()->mailer();
438
 
450
  }
451
 
452
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
453
+
454
  if($wcast_show_tracking_details == 1){
455
  ob_start();
456
  wc_get_template( 'emails/tracking-info.php', array(
458
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
459
  $message .= ob_get_clean();
460
  }
461
+
462
+ if($wcast_show_order_details == 1){
463
  ob_start();
464
  wc_get_template(
465
  'emails/wcast-email-order-details.php', array(
473
  );
474
  $message .= ob_get_clean();
475
  }
476
+
477
  if($wcast_show_billing_address == 1){
478
  ob_start();
479
  wc_get_template(
486
  );
487
  $message .= ob_get_clean();
488
  }
489
+
490
  if($wcast_show_shipping_address == 1){
491
  ob_start();
492
  wc_get_template(
501
  }
502
  // create a new email
503
  $email = new WC_Email();
504
+ $email->id = 'WC_Delivered_email';
 
505
  // wrap the content with the email template and then add styles
506
  $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
 
507
  echo $message;
508
  }
509
+
510
+ /**
511
+ * code for append analytics link in email content
512
+ */
513
  public function _appendCampaignToString($match){
514
  $url = $match[2];
515
  if (strpos($url, '?') === false) {
includes/customizer/class-wc-outfordelivery-email-customizer.php CHANGED
@@ -49,7 +49,10 @@ class wcast_outfordelivery_customizer_email {
49
 
50
  }
51
 
52
- public function enqueue_preview_scripts() {
 
 
 
53
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
54
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
55
  // Send variables to Javascript
@@ -58,8 +61,9 @@ class wcast_outfordelivery_customizer_email {
58
  'site_title' => $this->get_blogname(),
59
  'order_number' => $preview_id,
60
  ));
61
- }
62
- /**
 
63
  * Get blog name formatted for emails.
64
  *
65
  * @return string
@@ -67,6 +71,7 @@ class wcast_outfordelivery_customizer_email {
67
  public function get_blogname() {
68
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
69
  }
 
70
  /**
71
  * Checks to see if we are opening our custom customizer preview
72
  *
@@ -76,6 +81,7 @@ class wcast_outfordelivery_customizer_email {
76
  public static function is_own_preview_request() {
77
  return isset( $_REQUEST['wcast-outfordelivery-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-outfordelivery-email-customizer-preview'];
78
  }
 
79
  /**
80
  * Checks to see if we are opening our custom customizer controls
81
  *
@@ -85,6 +91,7 @@ class wcast_outfordelivery_customizer_email {
85
  public static function is_own_customizer_request() {
86
  return isset( $_REQUEST['email'] ) && $_REQUEST['email'] === 'customer_outfordelivery_email';
87
  }
 
88
  /**
89
  * Get Customizer URL
90
  *
@@ -99,6 +106,7 @@ class wcast_outfordelivery_customizer_email {
99
 
100
  return $customizer_url;
101
  }
 
102
  /**
103
  * Get WooCommerce email settings page URL
104
  *
@@ -109,6 +117,9 @@ class wcast_outfordelivery_customizer_email {
109
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
110
  }
111
 
 
 
 
112
  public function wcast_generate_defaults() {
113
  $customizer_defaults = array(
114
  'wcast_outfordelivery_email_subject' => __( 'Your order #{order_number} is out for delivery', 'woo-advanced-shipment-tracking' ),
@@ -196,8 +207,8 @@ class wcast_outfordelivery_customizer_email {
196
  );
197
  $wp_customize->add_control( 'wcast_outfordelivery_email_to',
198
  array(
199
- 'label' => __( 'To', 'woo-advanced-shipment-tracking' ),
200
- 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woo-advanced-shipment-tracking' ),
201
  'section' => 'customer_outfordelivery_email',
202
  'type' => 'text',
203
  'input_attrs' => array(
@@ -218,7 +229,7 @@ class wcast_outfordelivery_customizer_email {
218
  );
219
  $wp_customize->add_control( 'wcast_outfordelivery_email_subject',
220
  array(
221
- 'label' => __( 'Email subject', 'woo-advanced-shipment-tracking' ),
222
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
223
  'section' => 'customer_outfordelivery_email',
224
  'type' => 'text',
@@ -240,7 +251,7 @@ class wcast_outfordelivery_customizer_email {
240
  );
241
  $wp_customize->add_control( 'wcast_outfordelivery_email_heading',
242
  array(
243
- 'label' => __( 'Email heading', 'woo-advanced-shipment-tracking' ),
244
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
245
  'section' => 'customer_outfordelivery_email',
246
  'type' => 'text',
@@ -370,11 +381,12 @@ class wcast_outfordelivery_customizer_email {
370
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_outfordelivery_email_code_block',
371
  array(
372
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
373
- 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_username}<br>{order_number}<br>{est_delivery_date}</code>',
374
  'section' => 'customer_outfordelivery_email',
375
  )
376
  ) );
377
- }
 
378
  /**
379
  * Set up preview
380
  *
@@ -391,12 +403,14 @@ class wcast_outfordelivery_customizer_email {
391
  exit;
392
  }
393
 
 
 
 
394
  public function preview_outfordelivery_email(){
395
  // Load WooCommerce emails.
396
  $wc_emails = WC_Emails::instance();
397
  $emails = $wc_emails->get_emails();
398
- $preview_id = get_theme_mod('wcast_outfordelivery_email_preview_order_id');
399
-
400
 
401
  $email_heading = get_theme_mod('wcast_outfordelivery_email_heading');
402
  $email_heading = str_replace( '{site_title}', $this->get_blogname(), $email_heading );
@@ -412,10 +426,11 @@ class wcast_outfordelivery_customizer_email {
412
  $email = '';
413
 
414
  if($preview_id == '' || $preview_id == 'mockup') {
415
- $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select preview order.', 'woo-advanced-shipment-tracking' ) . '</div>';
416
  echo $content;
417
  return;
418
- }
 
419
  $order = wc_get_order( $preview_id );
420
  $mailer = WC()->mailer();
421
 
@@ -433,6 +448,7 @@ class wcast_outfordelivery_customizer_email {
433
  }
434
 
435
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
 
436
  if($wcast_show_tracking_details == 1){
437
  ob_start();
438
  wc_get_template( 'emails/tracking-info.php', array(
@@ -440,6 +456,7 @@ class wcast_outfordelivery_customizer_email {
440
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
441
  $message .= ob_get_clean();
442
  }
 
443
  if($wcast_show_order_details == 1){
444
 
445
  ob_start();
@@ -455,6 +472,7 @@ class wcast_outfordelivery_customizer_email {
455
  );
456
  $message .= ob_get_clean();
457
  }
 
458
  if($wcast_show_billing_address == 1){
459
  ob_start();
460
  wc_get_template(
@@ -467,6 +485,7 @@ class wcast_outfordelivery_customizer_email {
467
  );
468
  $message .= ob_get_clean();
469
  }
 
470
  if($wcast_show_shipping_address == 1){
471
  ob_start();
472
  wc_get_template(
@@ -478,17 +497,20 @@ class wcast_outfordelivery_customizer_email {
478
  wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/'
479
  );
480
  $message .= ob_get_clean();
481
- }
 
482
  // create a new email
483
  $email = new WC_Email();
484
  $email->id = 'WC_Delivered_email';
485
- //echo '<pre>';print_r($email);echo '</pre>';
486
  // wrap the content with the email template and then add styles
487
  $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
488
-
489
  echo $message;
490
  }
491
-
 
 
 
492
  public function _appendCampaignToString($match){
493
  $url = $match[2];
494
  if (strpos($url, '?') === false) {
49
 
50
  }
51
 
52
+ /**
53
+ * add css and js for preview
54
+ */
55
+ public function enqueue_preview_scripts() {
56
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
57
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
58
  // Send variables to Javascript
61
  'site_title' => $this->get_blogname(),
62
  'order_number' => $preview_id,
63
  ));
64
+ }
65
+
66
+ /**
67
  * Get blog name formatted for emails.
68
  *
69
  * @return string
71
  public function get_blogname() {
72
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
73
  }
74
+
75
  /**
76
  * Checks to see if we are opening our custom customizer preview
77
  *
81
  public static function is_own_preview_request() {
82
  return isset( $_REQUEST['wcast-outfordelivery-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-outfordelivery-email-customizer-preview'];
83
  }
84
+
85
  /**
86
  * Checks to see if we are opening our custom customizer controls
87
  *
91
  public static function is_own_customizer_request() {
92
  return isset( $_REQUEST['email'] ) && $_REQUEST['email'] === 'customer_outfordelivery_email';
93
  }
94
+
95
  /**
96
  * Get Customizer URL
97
  *
106
 
107
  return $customizer_url;
108
  }
109
+
110
  /**
111
  * Get WooCommerce email settings page URL
112
  *
117
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
118
  }
119
 
120
+ /**
121
+ * code for initialize default value for customizer
122
+ */
123
  public function wcast_generate_defaults() {
124
  $customizer_defaults = array(
125
  'wcast_outfordelivery_email_subject' => __( 'Your order #{order_number} is out for delivery', 'woo-advanced-shipment-tracking' ),
207
  );
208
  $wp_customize->add_control( 'wcast_outfordelivery_email_to',
209
  array(
210
+ 'label' => __( 'Recipient(s)', 'woocommerce' ),
211
+ 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woocommerce' ),
212
  'section' => 'customer_outfordelivery_email',
213
  'type' => 'text',
214
  'input_attrs' => array(
229
  );
230
  $wp_customize->add_control( 'wcast_outfordelivery_email_subject',
231
  array(
232
+ 'label' => __( 'Subject', 'woocommerce' ),
233
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
234
  'section' => 'customer_outfordelivery_email',
235
  'type' => 'text',
251
  );
252
  $wp_customize->add_control( 'wcast_outfordelivery_email_heading',
253
  array(
254
+ 'label' => __( 'Email heading', 'woocommerce' ),
255
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
256
  'section' => 'customer_outfordelivery_email',
257
  'type' => 'text',
381
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_outfordelivery_email_code_block',
382
  array(
383
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
384
+ 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_company_name}<br>{customer_username}<br>{order_number}<br>{est_delivery_date}</code>',
385
  'section' => 'customer_outfordelivery_email',
386
  )
387
  ) );
388
+ }
389
+
390
  /**
391
  * Set up preview
392
  *
403
  exit;
404
  }
405
 
406
+ /**
407
+ * code for preview of out for delivery email
408
+ */
409
  public function preview_outfordelivery_email(){
410
  // Load WooCommerce emails.
411
  $wc_emails = WC_Emails::instance();
412
  $emails = $wc_emails->get_emails();
413
+ $preview_id = get_theme_mod('wcast_outfordelivery_email_preview_order_id');
 
414
 
415
  $email_heading = get_theme_mod('wcast_outfordelivery_email_heading');
416
  $email_heading = str_replace( '{site_title}', $this->get_blogname(), $email_heading );
426
  $email = '';
427
 
428
  if($preview_id == '' || $preview_id == 'mockup') {
429
+ $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select order to preview.', 'woo-advanced-shipment-tracking' ) . '</div>';
430
  echo $content;
431
  return;
432
+ }
433
+
434
  $order = wc_get_order( $preview_id );
435
  $mailer = WC()->mailer();
436
 
448
  }
449
 
450
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
451
+
452
  if($wcast_show_tracking_details == 1){
453
  ob_start();
454
  wc_get_template( 'emails/tracking-info.php', array(
456
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
457
  $message .= ob_get_clean();
458
  }
459
+
460
  if($wcast_show_order_details == 1){
461
 
462
  ob_start();
472
  );
473
  $message .= ob_get_clean();
474
  }
475
+
476
  if($wcast_show_billing_address == 1){
477
  ob_start();
478
  wc_get_template(
485
  );
486
  $message .= ob_get_clean();
487
  }
488
+
489
  if($wcast_show_shipping_address == 1){
490
  ob_start();
491
  wc_get_template(
497
  wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/'
498
  );
499
  $message .= ob_get_clean();
500
+ }
501
+
502
  // create a new email
503
  $email = new WC_Email();
504
  $email->id = 'WC_Delivered_email';
505
+
506
  // wrap the content with the email template and then add styles
507
  $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
 
508
  echo $message;
509
  }
510
+
511
+ /**
512
+ * code for append analytics link in email content
513
+ */
514
  public function _appendCampaignToString($match){
515
  $url = $match[2];
516
  if (strpos($url, '?') === false) {
includes/customizer/class-wc-partial-shipped-email-customizer.php ADDED
@@ -0,0 +1,420 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Customizer Setup and Custom Controls
4
+ *
5
+ */
6
+
7
+ /**
8
+ * Adds the individual sections, settings, and controls to the theme customizer
9
+ */
10
+ class wcast_partial_shipped_customizer_email {
11
+ // Get our default values
12
+ public function __construct() {
13
+ // Get our Customizer defaults
14
+ $this->defaults = $this->wcast_generate_defaults();
15
+
16
+ // Register our sample default controls
17
+ add_action( 'customize_register', array( $this, 'wcast_register_sample_default_controls' ) );
18
+
19
+ // Only proceed if this is own request.
20
+ if ( ! wcast_partial_shipped_customizer_email::is_own_customizer_request() && ! wcast_partial_shipped_customizer_email::is_own_preview_request() ) {
21
+ return;
22
+ }
23
+ add_action( 'customize_register', array( wcast_customizer(), 'wcast_add_customizer_panels' ) );
24
+ // Register our sections
25
+ add_action( 'customize_register', array( wcast_customizer(), 'wcast_add_customizer_sections' ) );
26
+
27
+ // Remove unrelated components.
28
+ add_filter( 'customize_loaded_components', array( wcast_customizer(), 'remove_unrelated_components' ), 99, 2 );
29
+
30
+ // Remove unrelated sections.
31
+ add_filter( 'customize_section_active', array( wcast_customizer(), 'remove_unrelated_sections' ), 10, 2 );
32
+
33
+ // Unhook divi front end.
34
+ add_action( 'woomail_footer', array( wcast_customizer(), 'unhook_divi' ), 10 );
35
+
36
+ // Unhook Flatsome js
37
+ add_action( 'customize_preview_init', array( wcast_customizer(), 'unhook_flatsome' ), 50 );
38
+
39
+ add_filter( 'customize_controls_enqueue_scripts', array( wcast_customizer(), 'enqueue_customizer_scripts' ) );
40
+
41
+ add_action( 'parse_request', array( $this, 'set_up_preview' ) );
42
+
43
+ add_action( 'customize_preview_init', array( $this, 'enqueue_preview_scripts' ) );
44
+ }
45
+
46
+ public function enqueue_preview_scripts() {
47
+ wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
48
+ wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
49
+ // Send variables to Javascript
50
+ $preview_id = get_theme_mod('wcast_partial_shipped_preview_order_id');
51
+ wp_localize_script('wcast-email-preview-scripts', 'wcast_preview', array(
52
+ 'site_title' => $this->get_blogname(),
53
+ 'order_number' => $preview_id,
54
+ ));
55
+ }
56
+
57
+ /**
58
+ * Get blog name formatted for emails.
59
+ *
60
+ * @return string
61
+ */
62
+ public function get_blogname() {
63
+ return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
64
+ }
65
+
66
+ /**
67
+ * Checks to see if we are opening our custom customizer preview
68
+ *
69
+ * @access public
70
+ * @return bool
71
+ */
72
+ public static function is_own_preview_request() {
73
+ return isset( $_REQUEST['wcast-partial-shipped-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-partial-shipped-email-customizer-preview'];
74
+ }
75
+
76
+ /**
77
+ * Checks to see if we are opening our custom customizer controls
78
+ *
79
+ * @access public
80
+ * @return bool
81
+ */
82
+ public static function is_own_customizer_request() {
83
+ return isset( $_REQUEST['email'] ) && $_REQUEST['email'] === 'customer_partial_shipped_email';
84
+ }
85
+
86
+ /**
87
+ * Get Customizer URL
88
+ *
89
+ */
90
+ public static function get_customizer_url($email) {
91
+ $customizer_url = add_query_arg( array(
92
+ 'wcast-customizer' => '1',
93
+ 'email' => $email,
94
+ 'url' => urlencode( add_query_arg( array( 'wcast-partial-shipped-email-customizer-preview' => '1' ), home_url( '/' ) ) ),
95
+ 'return' => urlencode( wcast_partial_shipped_customizer_email::get_email_settings_page_url() ),
96
+ ), admin_url( 'customize.php' ) );
97
+
98
+ return $customizer_url;
99
+ }
100
+
101
+ /**
102
+ * Get WooCommerce email settings page URL
103
+ *
104
+ * @access public
105
+ * @return string
106
+ */
107
+ public static function get_email_settings_page_url() {
108
+ return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking' );
109
+ }
110
+
111
+ /**
112
+ * code for initialize default value for customizer
113
+ */
114
+ public function wcast_generate_defaults() {
115
+ $customizer_defaults = array(
116
+ 'wcast_partial_shipped_email_subject' => __( 'Your {site_title} order is now partial shipped', 'woo-advanced-shipment-tracking' ),
117
+ 'wcast_partial_shipped_email_heading' => __( 'Thanks for shopping with us', 'woocommerce' ),
118
+ 'wcast_partial_shipped_email_content' => __( "Hi there. we thought you'd like to know that your recent order from {site_title} has been Partial Shipped.", 'woo-advanced-shipment-tracking' ),
119
+ 'wcast_enable_partial_shipped_email' => 'no',
120
+ );
121
+
122
+ return apply_filters( 'skyrocket_customizer_defaults', $customizer_defaults );
123
+ }
124
+
125
+ /**
126
+ * Register our sample default controls
127
+ */
128
+ public function wcast_register_sample_default_controls( $wp_customize ) {
129
+ /**
130
+ * Load all our Customizer Custom Controls
131
+ */
132
+ require_once trailingslashit( dirname(__FILE__) ) . 'custom-controls.php';
133
+
134
+ $wp_customize->add_setting( 'partial_shipped_order_email_heading',
135
+ array(
136
+ 'default' => '',
137
+ 'transport' => 'postMessage',
138
+ 'sanitize_callback' => ''
139
+ )
140
+ );
141
+ $wp_customize->add_control( new WP_Customize_Heading_Control( $wp_customize, 'partial_shipped_order_email_heading',
142
+ array(
143
+ 'label' => __( 'Partial Shipped status email', 'woo-advanced-shipment-tracking' ),
144
+ 'description' => __( 'This section lets you customize the Email Content.', 'woo-advanced-shipment-tracking' ),
145
+ 'section' => 'customer_partial_shipped_email'
146
+ )
147
+ ) );
148
+ // Display Shipment Provider image/thumbnail
149
+ $wp_customize->add_setting( 'customizer_partial_shipped_order_settings_enabled',
150
+ array(
151
+ 'default' => $this->defaults['wcast_enable_partial_shipped_email'],
152
+ 'transport' => 'postMessage',
153
+ 'type' => 'option',
154
+ 'sanitize_callback' => ''
155
+ )
156
+ );
157
+ $wp_customize->add_control( 'customizer_partial_shipped_order_settings_enabled',
158
+ array(
159
+ 'label' => __( 'Enable Partial Shipped order status email', 'woo-advanced-shipment-tracking' ),
160
+ 'description' => esc_html__( '', 'woo-advanced-shipment-tracking' ),
161
+ 'section' => 'customer_partial_shipped_email',
162
+ 'type' => 'checkbox',
163
+
164
+ )
165
+ );
166
+
167
+ // Preview Order
168
+ $wp_customize->add_setting( 'wcast_partial_shipped_preview_order_id',
169
+ array(
170
+ 'default' => 'mockup',
171
+ 'transport' => 'refresh',
172
+ 'sanitize_callback' => ''
173
+ )
174
+ );
175
+ $wp_customize->add_control( new Skyrocket_Dropdown_Select_Custom_Control( $wp_customize, 'wcast_partial_shipped_preview_order_id',
176
+ array(
177
+ 'label' => __( 'Preview order', 'woo-advanced-shipment-tracking' ),
178
+ 'description' => '',
179
+ 'section' => 'customer_partial_shipped_email',
180
+ 'input_attrs' => array(
181
+ 'placeholder' => __( 'Please select a order...', 'woo-advanced-shipment-tracking' ),
182
+ 'class' => 'preview_order_select',
183
+ ),
184
+ 'choices' => wcast_customizer()->get_order_ids(),
185
+ )
186
+ ) );
187
+
188
+ // Header Text
189
+ $wp_customize->add_setting( 'woocommerce_customer_partial_shipped_order_settings[subject]',
190
+ array(
191
+ 'default' => $this->defaults['wcast_partial_shipped_email_subject'],
192
+ 'transport' => 'postMessage',
193
+ 'type' => 'option',
194
+ 'sanitize_callback' => ''
195
+ )
196
+ );
197
+ $wp_customize->add_control( 'woocommerce_customer_partial_shipped_order_settings[subject]',
198
+ array(
199
+ 'label' => __( 'Subject', 'woocommerce' ),
200
+ 'description' => esc_html__( 'Available variables: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
201
+ 'section' => 'customer_partial_shipped_email',
202
+ 'type' => 'text',
203
+ 'input_attrs' => array(
204
+ 'class' => '',
205
+ 'style' => '',
206
+ 'placeholder' => __( 'Please enter email subject here', 'woo-advanced-shipment-tracking' ),
207
+ ),
208
+ )
209
+ );
210
+
211
+ // Header Text
212
+ $wp_customize->add_setting( 'woocommerce_customer_partial_shipped_order_settings[heading]',
213
+ array(
214
+ 'default' => $this->defaults['wcast_partial_shipped_email_heading'],
215
+ 'transport' => 'postMessage',
216
+ 'type' => 'option',
217
+ 'sanitize_callback' => ''
218
+ )
219
+ );
220
+ $wp_customize->add_control( 'woocommerce_customer_partial_shipped_order_settings[heading]',
221
+ array(
222
+ 'label' => __( 'Email heading', 'woocommerce' ),
223
+ 'description' => esc_html__( 'Available variables: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
224
+ 'section' => 'customer_partial_shipped_email',
225
+ 'type' => 'text',
226
+ 'input_attrs' => array(
227
+ 'class' => '',
228
+ 'style' => '',
229
+ 'placeholder' => __( 'Please enter email heading here', 'woo-advanced-shipment-tracking' ),
230
+ ),
231
+ )
232
+ );
233
+
234
+
235
+ // Test of TinyMCE control
236
+ $wp_customize->add_setting( 'wcast_partial_shipped_email_content',
237
+ array(
238
+ 'default' => $this->defaults['wcast_partial_shipped_email_content'],
239
+ 'transport' => 'refresh',
240
+ 'sanitize_callback' => 'wp_kses_post'
241
+ )
242
+ );
243
+ $wp_customize->add_control( new Skyrocket_TinyMCE_Custom_control( $wp_customize, 'wcast_partial_shipped_email_content',
244
+ array(
245
+ 'label' => __( 'Email content', 'woo-advanced-shipment-tracking' ),
246
+ 'description' => __( 'available variables: {site_title}, {customer_email}, {customer_first_name}, {customer_last_name}, {customer_username}, {order_number}', 'woo-advanced-shipment-tracking' ),
247
+ 'section' => 'customer_partial_shipped_email',
248
+ 'input_attrs' => array(
249
+ 'toolbar1' => 'bold italic bullist numlist alignleft aligncenter alignright link',
250
+ 'mediaButtons' => true,
251
+ )
252
+ )
253
+ ) );
254
+
255
+ $wp_customize->add_setting( 'wcast_partial_shipped_code_block',
256
+ array(
257
+ 'default' => '',
258
+ 'transport' => 'postMessage',
259
+ 'sanitize_callback' => ''
260
+ )
261
+ );
262
+ $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_partial_shipped_code_block',
263
+ array(
264
+ 'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
265
+ 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_company_name}<br>{customer_username}<br>{order_number}</code>',
266
+ 'section' => 'customer_partial_shipped_email',
267
+ )
268
+ ) );
269
+ }
270
+
271
+ /**
272
+ * Set up preview
273
+ *
274
+ * @access public
275
+ * @return void
276
+ */
277
+ public function set_up_preview() {
278
+
279
+ // Make sure this is own preview request.
280
+ if ( ! wcast_partial_shipped_customizer_email::is_own_preview_request() ) {
281
+ return;
282
+ }
283
+ include wc_advanced_shipment_tracking()->get_plugin_path() . '/includes/customizer/preview/partial_shipped_preview.php';
284
+ exit;
285
+ }
286
+
287
+ /**
288
+ * code for preview of delivered order status email
289
+ */
290
+ public function preview_partial_shipped_email(){
291
+ // Load WooCommerce emails.
292
+ $wc_emails = WC_Emails::instance();
293
+ $emails = $wc_emails->get_emails();
294
+ $preview_id = get_theme_mod('wcast_partial_shipped_preview_order_id');
295
+
296
+ if($preview_id == '' || $preview_id == 'mockup') {
297
+ $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select order to preview.', 'woo-advanced-shipment-tracking' ) . '</div>';
298
+ echo $content;
299
+ return;
300
+ }
301
+
302
+ $email_type = 'WC_Email_Customer_Partial_Shipped_Order';
303
+
304
+ if ( false === $email_type ) {
305
+ return false;
306
+ }
307
+
308
+
309
+
310
+ // Reference email.
311
+ if ( isset( $emails[ $email_type ] ) && is_object( $emails[ $email_type ] ) ) {
312
+ $email = $emails[ $email_type ];
313
+ }
314
+ $order_status = 'partial-shipped';
315
+ // Get an order
316
+ $order = self::get_wc_order_for_preview( $order_status, $preview_id );
317
+
318
+ // Make sure gateways are running in case the email needs to input content from them.
319
+ WC()->payment_gateways();
320
+ // Make sure shipping is running in case the email needs to input content from it.
321
+ WC()->shipping();
322
+
323
+ $email->object = $order;
324
+ $email->find['order-date'] = '{order_date}';
325
+ $email->find['order-number'] = '{order_number}';
326
+ if ( is_object( $order ) ) {
327
+ $email->replace['order-date'] = wc_format_datetime( $email->object->get_date_created() );
328
+ $email->replace['order-number'] = $email->object->get_order_number();
329
+ // Other properties
330
+ $email->recipient = $email->object->get_billing_email();
331
+ }
332
+
333
+ // Get email content and apply styles.
334
+ $content = $email->get_content();
335
+
336
+ $content = $email->style_inline( $content );
337
+ $content = apply_filters( 'woocommerce_mail_content', $content );
338
+
339
+ echo $content;
340
+ }
341
+
342
+ /**
343
+ * Get WooCommerce order for preview
344
+ *
345
+ * @access public
346
+ * @param string $order_status
347
+ * @return object
348
+ */
349
+ public static function get_wc_order_for_preview( $order_status = null, $order_id = null ) {
350
+ if ( ! empty( $order_id ) && 'mockup' != $order_id ) {
351
+ return wc_get_order( $order_id );
352
+ } else {
353
+ // Use mockup order
354
+
355
+ // Instantiate order object
356
+ $order = new WC_Order();
357
+
358
+ // Other order properties
359
+ $order->set_props( array(
360
+ 'id' => 1,
361
+ 'status' => ( null === $order_status ? 'processing' : $order_status ),
362
+ 'billing_first_name' => 'Sherlock',
363
+ 'billing_last_name' => 'Holmes',
364
+ 'billing_company' => 'Detectives Ltd.',
365
+ 'billing_address_1' => '221B Baker Street',
366
+ 'billing_city' => 'London',
367
+ 'billing_postcode' => 'NW1 6XE',
368
+ 'billing_country' => 'GB',
369
+ 'billing_email' => 'sherlock@holmes.co.uk',
370
+ 'billing_phone' => '02079304832',
371
+ 'date_created' => date( 'Y-m-d H:i:s' ),
372
+ 'total' => 24.90,
373
+ ) );
374
+
375
+ // Item #1
376
+ $order_item = new WC_Order_Item_Product();
377
+ $order_item->set_props( array(
378
+ 'name' => 'A Study in Scarlet',
379
+ 'subtotal' => '9.95',
380
+ 'sku' => 'kwd_ex_1',
381
+ ) );
382
+ $order->add_item( $order_item );
383
+
384
+ // Item #2
385
+ $order_item = new WC_Order_Item_Product();
386
+ $order_item->set_props( array(
387
+ 'name' => 'The Hound of the Baskervilles',
388
+ 'subtotal' => '14.95',
389
+ 'sku' => 'kwd_ex_2',
390
+ ) );
391
+ $order->add_item( $order_item );
392
+
393
+ // Return mockup order
394
+ return $order;
395
+ }
396
+
397
+ }
398
+ }
399
+ /**
400
+ * Initialise our Customizer settings
401
+ */
402
+
403
+ $wcast_partial_shipped_customizer_settings = new wcast_partial_shipped_customizer_email();
404
+ add_action( 'customize_save_customizer_partial_shipped_order_settings_enabled', 'woocommerce_customer_partial_shipped_order_settings_fun', 100, 1 );
405
+
406
+ /**
407
+ * Update Delivered order email enable/disable
408
+ *
409
+ */
410
+ function woocommerce_customer_partial_shipped_order_settings_fun($data){
411
+ $post_values = json_decode( wp_unslash( $_POST['customized'] ), true );
412
+ $partial_shipped_order_settings = get_option( 'woocommerce_customer_partial_shipped_order_settings');
413
+
414
+ if(isset($post_values['customizer_partial_shipped_order_settings_enabled']) && ($post_values['customizer_partial_shipped_order_settings_enabled'] == 1)){
415
+ $partial_shipped_order_settings['enabled'] = 'yes';
416
+ } else{
417
+ $partial_shipped_order_settings['enabled'] = 'no';
418
+ }
419
+ update_option( 'woocommerce_customer_partial_shipped_order_settings',$partial_shipped_order_settings);
420
+ }
includes/customizer/class-wc-returntosender-email-customizer.php CHANGED
@@ -47,7 +47,10 @@ class wcast_returntosender_customizer_email {
47
 
48
  }
49
 
50
- public function enqueue_preview_scripts() {
 
 
 
51
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
52
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
53
  // Send variables to Javascript
@@ -56,8 +59,9 @@ class wcast_returntosender_customizer_email {
56
  'site_title' => $this->get_blogname(),
57
  'order_number' => $preview_id,
58
  ));
59
- }
60
- /**
 
61
  * Get blog name formatted for emails.
62
  *
63
  * @return string
@@ -75,6 +79,7 @@ class wcast_returntosender_customizer_email {
75
  public static function is_own_preview_request() {
76
  return isset( $_REQUEST['wcast-returntosender-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-returntosender-email-customizer-preview'];
77
  }
 
78
  /**
79
  * Checks to see if we are opening our custom customizer controls
80
  *
@@ -110,6 +115,9 @@ class wcast_returntosender_customizer_email {
110
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
111
  }
112
 
 
 
 
113
  public function wcast_generate_defaults() {
114
  $customizer_defaults = array(
115
  'wcast_returntosender_email_subject' => __( 'Your order #{order_number} has returned to sender', 'woo-advanced-shipment-tracking' ),
@@ -197,8 +205,8 @@ class wcast_returntosender_customizer_email {
197
  );
198
  $wp_customize->add_control( 'wcast_returntosender_email_to',
199
  array(
200
- 'label' => __( 'To', 'woo-advanced-shipment-tracking' ),
201
- 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woo-advanced-shipment-tracking' ),
202
  'section' => 'customer_returntosender_email',
203
  'type' => 'text',
204
  'input_attrs' => array(
@@ -219,7 +227,7 @@ class wcast_returntosender_customizer_email {
219
  );
220
  $wp_customize->add_control( 'wcast_returntosender_email_subject',
221
  array(
222
- 'label' => __( 'Email subject', 'woo-advanced-shipment-tracking' ),
223
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
224
  'section' => 'customer_returntosender_email',
225
  'type' => 'text',
@@ -241,7 +249,7 @@ class wcast_returntosender_customizer_email {
241
  );
242
  $wp_customize->add_control( 'wcast_returntosender_email_heading',
243
  array(
244
- 'label' => __( 'Email heading', 'woo-advanced-shipment-tracking' ),
245
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
246
  'section' => 'customer_returntosender_email',
247
  'type' => 'text',
@@ -371,7 +379,7 @@ class wcast_returntosender_customizer_email {
371
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_returntosender_email_code_block',
372
  array(
373
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
374
- 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_username}<br>{order_number}<br>{est_delivery_date}</code>',
375
  'section' => 'customer_returntosender_email',
376
  )
377
  ) );
@@ -392,14 +400,16 @@ class wcast_returntosender_customizer_email {
392
  include wc_advanced_shipment_tracking()->get_plugin_path() . '/includes/customizer/preview/returntosender_preview.php';
393
  exit;
394
  }
395
-
 
 
 
396
  public function preview_returntosender_email(){
397
  // Load WooCommerce emails.
398
  $wc_emails = WC_Emails::instance();
399
  $emails = $wc_emails->get_emails();
400
  $preview_id = get_theme_mod('wcast_returntosender_email_preview_order_id');
401
-
402
-
403
  $email_heading = get_theme_mod('wcast_returntosender_email_heading');
404
  $email_heading = str_replace( '{site_title}', $this->get_blogname(), $email_heading );
405
  $email_heading = str_replace( '{order_number}', $preview_id, $email_heading );
@@ -414,10 +424,11 @@ class wcast_returntosender_customizer_email {
414
  $email = '';
415
 
416
  if($preview_id == '' || $preview_id == 'mockup') {
417
- $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select preview order.', 'woo-advanced-shipment-tracking' ) . '</div>';
418
  echo $content;
419
  return;
420
  }
 
421
  $order = wc_get_order( $preview_id );
422
  $mailer = WC()->mailer();
423
 
@@ -435,6 +446,7 @@ class wcast_returntosender_customizer_email {
435
  }
436
 
437
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
 
438
  if($wcast_show_tracking_details == 1){
439
  ob_start();
440
  wc_get_template( 'emails/tracking-info.php', array(
@@ -442,6 +454,7 @@ class wcast_returntosender_customizer_email {
442
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
443
  $message .= ob_get_clean();
444
  }
 
445
  if($wcast_show_order_details == 1){
446
 
447
  ob_start();
@@ -457,6 +470,7 @@ class wcast_returntosender_customizer_email {
457
  );
458
  $message .= ob_get_clean();
459
  }
 
460
  if($wcast_show_billing_address == 1){
461
  ob_start();
462
  wc_get_template(
@@ -469,6 +483,7 @@ class wcast_returntosender_customizer_email {
469
  );
470
  $message .= ob_get_clean();
471
  }
 
472
  if($wcast_show_shipping_address == 1){
473
  ob_start();
474
  wc_get_template(
@@ -481,16 +496,19 @@ class wcast_returntosender_customizer_email {
481
  );
482
  $message .= ob_get_clean();
483
  }
 
484
  // create a new email
485
  $email = new WC_Email();
486
  $email->id = 'WC_Delivered_email';
487
- //echo '<pre>';print_r($email);echo '</pre>';
488
  // wrap the content with the email template and then add styles
489
  $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
490
-
491
  echo $message;
492
  }
493
-
 
 
 
494
  public function _appendCampaignToString($match){
495
  $url = $match[2];
496
  if (strpos($url, '?') === false) {
47
 
48
  }
49
 
50
+ /**
51
+ * add css and js for preview
52
+ */
53
+ public function enqueue_preview_scripts() {
54
  wp_enqueue_script('wcast-email-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
55
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
56
  // Send variables to Javascript
59
  'site_title' => $this->get_blogname(),
60
  'order_number' => $preview_id,
61
  ));
62
+ }
63
+
64
+ /**
65
  * Get blog name formatted for emails.
66
  *
67
  * @return string
79
  public static function is_own_preview_request() {
80
  return isset( $_REQUEST['wcast-returntosender-email-customizer-preview'] ) && '1' === $_REQUEST['wcast-returntosender-email-customizer-preview'];
81
  }
82
+
83
  /**
84
  * Checks to see if we are opening our custom customizer controls
85
  *
115
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
116
  }
117
 
118
+ /**
119
+ * code for initialize default value for customizer
120
+ */
121
  public function wcast_generate_defaults() {
122
  $customizer_defaults = array(
123
  'wcast_returntosender_email_subject' => __( 'Your order #{order_number} has returned to sender', 'woo-advanced-shipment-tracking' ),
205
  );
206
  $wp_customize->add_control( 'wcast_returntosender_email_to',
207
  array(
208
+ 'label' => __( 'Recipient(s)', 'woocommerce' ),
209
+ 'description' => esc_html__( 'Enter emails here or use variables such as {customer_email}. Multiple emails can be separated by commas.', 'woocommerce' ),
210
  'section' => 'customer_returntosender_email',
211
  'type' => 'text',
212
  'input_attrs' => array(
227
  );
228
  $wp_customize->add_control( 'wcast_returntosender_email_subject',
229
  array(
230
+ 'label' => __( 'Subject', 'woocommerce' ),
231
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
232
  'section' => 'customer_returntosender_email',
233
  'type' => 'text',
249
  );
250
  $wp_customize->add_control( 'wcast_returntosender_email_heading',
251
  array(
252
+ 'label' => __( 'Email heading', 'woocommerce' ),
253
  'description' => esc_html__( 'Available placeholders: {site_title}, {order_number}', 'woo-advanced-shipment-tracking' ),
254
  'section' => 'customer_returntosender_email',
255
  'type' => 'text',
379
  $wp_customize->add_control( new WP_Customize_codeinfoblock_Control( $wp_customize, 'wcast_returntosender_email_code_block',
380
  array(
381
  'label' => __( 'Available placeholders', 'woo-advanced-shipment-tracking' ),
382
+ 'description' => '<code>{site_title}<br>{customer_email}<br>{customer_first_name}<br>{customer_last_name}<br>{customer_company_name}<br>{customer_username}<br>{order_number}<br>{est_delivery_date}</code>',
383
  'section' => 'customer_returntosender_email',
384
  )
385
  ) );
400
  include wc_advanced_shipment_tracking()->get_plugin_path() . '/includes/customizer/preview/returntosender_preview.php';
401
  exit;
402
  }
403
+
404
+ /**
405
+ * code for preview of return to sender email
406
+ */
407
  public function preview_returntosender_email(){
408
  // Load WooCommerce emails.
409
  $wc_emails = WC_Emails::instance();
410
  $emails = $wc_emails->get_emails();
411
  $preview_id = get_theme_mod('wcast_returntosender_email_preview_order_id');
412
+
 
413
  $email_heading = get_theme_mod('wcast_returntosender_email_heading');
414
  $email_heading = str_replace( '{site_title}', $this->get_blogname(), $email_heading );
415
  $email_heading = str_replace( '{order_number}', $preview_id, $email_heading );
424
  $email = '';
425
 
426
  if($preview_id == '' || $preview_id == 'mockup') {
427
+ $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select order to preview.', 'woo-advanced-shipment-tracking' ) . '</div>';
428
  echo $content;
429
  return;
430
  }
431
+
432
  $order = wc_get_order( $preview_id );
433
  $mailer = WC()->mailer();
434
 
446
  }
447
 
448
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
449
+
450
  if($wcast_show_tracking_details == 1){
451
  ob_start();
452
  wc_get_template( 'emails/tracking-info.php', array(
454
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
455
  $message .= ob_get_clean();
456
  }
457
+
458
  if($wcast_show_order_details == 1){
459
 
460
  ob_start();
470
  );
471
  $message .= ob_get_clean();
472
  }
473
+
474
  if($wcast_show_billing_address == 1){
475
  ob_start();
476
  wc_get_template(
483
  );
484
  $message .= ob_get_clean();
485
  }
486
+
487
  if($wcast_show_shipping_address == 1){
488
  ob_start();
489
  wc_get_template(
496
  );
497
  $message .= ob_get_clean();
498
  }
499
+
500
  // create a new email
501
  $email = new WC_Email();
502
  $email->id = 'WC_Delivered_email';
503
+
504
  // wrap the content with the email template and then add styles
505
  $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
 
506
  echo $message;
507
  }
508
+
509
+ /**
510
+ * code for append analytics link in email content
511
+ */
512
  public function _appendCampaignToString($match){
513
  $url = $match[2];
514
  if (strpos($url, '?') === false) {
includes/customizer/class-wc-tracking-info-customizer.php CHANGED
@@ -10,10 +10,10 @@
10
  class wcast_initialise_customizer_settings {
11
  // Get our default values
12
  private static $order_ids = null;
 
13
  public function __construct() {
14
  // Get our Customizer defaults
15
- $this->defaults = $this->wcast_generate_defaults();
16
-
17
 
18
  // Register our sample default controls
19
  add_action( 'customize_register', array( $this, 'wcast_register_sample_default_controls' ) );
@@ -21,8 +21,7 @@ class wcast_initialise_customizer_settings {
21
  // Only proceed if this is own request.
22
  if ( ! wcast_initialise_customizer_settings::is_own_customizer_request() && ! wcast_initialise_customizer_settings::is_own_preview_request() ) {
23
  return;
24
- }
25
- // Set up preview.
26
 
27
  // Register our Panels
28
  add_action( 'customize_register', array( wcast_customizer(), 'wcast_add_customizer_panels' ) );
@@ -49,7 +48,10 @@ class wcast_initialise_customizer_settings {
49
  add_action( 'customize_preview_init', array( $this, 'enqueue_preview_scripts' ) );
50
  }
51
 
52
- public function enqueue_preview_scripts() {
 
 
 
53
  wp_enqueue_script('wcast-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . '/assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
54
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
55
  $preview_id = get_theme_mod('wcast_email_preview_order_id');
@@ -57,12 +59,13 @@ class wcast_initialise_customizer_settings {
57
  'site_title' => $this->get_blogname(),
58
  'order_number' => $preview_id,
59
  ));
60
- }
61
- /**
62
- * Get blog name formatted for emails.
63
- *
64
- * @return string
65
- */
 
66
  public function get_blogname() {
67
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
68
  }
@@ -76,6 +79,7 @@ class wcast_initialise_customizer_settings {
76
  public static function is_own_preview_request() {
77
  return isset( $_REQUEST['wcast-tracking-preview'] ) && '1' === $_REQUEST['wcast-tracking-preview'];
78
  }
 
79
  /**
80
  * Checks to see if we are opening our custom customizer controls
81
  *
@@ -84,7 +88,8 @@ class wcast_initialise_customizer_settings {
84
  */
85
  public static function is_own_customizer_request() {
86
  return isset( $_REQUEST['email'] ) && $_REQUEST['email'] === 'default_controls_section';
87
- }
 
88
  /**
89
  * Get Customizer URL
90
  *
@@ -99,7 +104,8 @@ class wcast_initialise_customizer_settings {
99
  ), admin_url( 'customize.php' ) );
100
 
101
  return $customizer_url;
102
- }
 
103
  /**
104
  * Get WooCommerce email settings page URL
105
  *
@@ -109,6 +115,10 @@ class wcast_initialise_customizer_settings {
109
  public static function get_email_settings_page_url($return_tab) {
110
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
111
  }
 
 
 
 
112
  public function wcast_generate_defaults() {
113
  $customizer_defaults = array(
114
  'display_shipment_provider_image' => '',
@@ -140,6 +150,7 @@ class wcast_initialise_customizer_settings {
140
 
141
  return apply_filters( 'skyrocket_customizer_defaults', $customizer_defaults );
142
  }
 
143
  /**
144
  * Register our sample default controls
145
  */
@@ -148,6 +159,12 @@ class wcast_initialise_customizer_settings {
148
  * Load all our Customizer Custom Controls
149
  */
150
  require_once trailingslashit( dirname(__FILE__) ) . 'custom-controls.php';
 
 
 
 
 
 
151
  // Preview Order
152
  $wp_customize->add_setting( 'wcast_preview_order_id',
153
  array(
@@ -295,6 +312,38 @@ class wcast_initialise_customizer_settings {
295
  )
296
  );
297
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
298
  // Provider Header Text
299
  $wp_customize->add_setting( 'provider_header_text',
300
  array(
@@ -397,6 +446,39 @@ class wcast_initialise_customizer_settings {
397
  )
398
  );
399
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
400
  // Test of Toggle Switch Custom Control
401
  $wp_customize->add_setting( 'table_header',
402
  array(
@@ -490,7 +572,7 @@ class wcast_initialise_customizer_settings {
490
  'section' => 'default_controls_section',
491
  'type' => 'select',
492
  'choices' => array(
493
- '' => __( 'Select', 'woo-advanced-shipment-tracking' ),
494
  '1' => '1 px',
495
  '2' => '2 px',
496
  '3' => '3 px',
@@ -514,53 +596,15 @@ class wcast_initialise_customizer_settings {
514
  'section' => 'default_controls_section',
515
  'type' => 'select',
516
  'choices' => array(
517
- '' => __( 'Select', 'woo-advanced-shipment-tracking' ),
518
- 'left' => __( 'Left', 'woo-advanced-shipment-tracking' ),
519
- 'right' => __( 'Right', 'woo-advanced-shipment-tracking' ),
520
- 'center' => __( 'Center', 'woo-advanced-shipment-tracking' )
521
  )
522
  )
523
- );
524
-
525
- $font_size_array[ '' ] = __( 'Select', 'woo-advanced-shipment-tracking' );
526
- for ( $i = 10; $i <= 30; $i++ ) {
527
- $font_size_array[ $i ] = $i."px";
528
- }
529
- // Table header font size
530
- $wp_customize->add_setting( 'table_header_font_size',
531
- array(
532
- 'default' => $this->defaults['table_header_font_size'],
533
- 'transport' => 'postMessage',
534
- 'sanitize_callback' => ''
535
- )
536
- );
537
- $wp_customize->add_control( 'table_header_font_size',
538
- array(
539
- 'label' => __( 'Table header font size', 'woo-advanced-shipment-tracking' ),
540
- 'section' => 'default_controls_section',
541
- 'type' => 'select',
542
- 'choices' => $font_size_array
543
- )
544
- );
545
-
546
 
547
 
548
- // Table header font color
549
- $wp_customize->add_setting( 'table_header_font_color',
550
- array(
551
- 'default' => $this->defaults['table_header_font_color'],
552
- 'transport' => 'postMessage',
553
- 'sanitize_callback' => ''
554
- )
555
- );
556
- $wp_customize->add_control( 'table_header_font_color',
557
- array(
558
- 'label' => __( 'Table header font color', 'woo-advanced-shipment-tracking' ),
559
- 'section' => 'default_controls_section',
560
- 'type' => 'color'
561
- )
562
- );
563
-
564
  // Table content font size
565
  $wp_customize->add_setting( 'table_content_font_size',
566
  array(
@@ -716,6 +760,9 @@ class wcast_initialise_customizer_settings {
716
  exit;
717
  }
718
 
 
 
 
719
  public function preview_completed_email(){
720
 
721
  $ast = new WC_Advanced_Shipment_Tracking_Actions;
@@ -741,7 +788,7 @@ class wcast_initialise_customizer_settings {
741
  $order_status = 'completed';
742
 
743
  if($preview_id == '' || $preview_id == 'mockup') {
744
- $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select preview order.', 'woo-advanced-shipment-tracking' ) . '</div>';
745
  echo $content;
746
  return;
747
  }
@@ -778,6 +825,7 @@ class wcast_initialise_customizer_settings {
778
  }
779
  echo $content;
780
  }
 
781
  /**
782
  * Get WooCommerce order for preview
783
  *
@@ -788,8 +836,7 @@ class wcast_initialise_customizer_settings {
788
  public static function get_wc_order_for_preview( $order_status = null, $order_id = null ) {
789
  if ( ! empty( $order_id ) && 'mockup' != $order_id ) {
790
  return wc_get_order( $order_id );
791
- } else {
792
- // Use mockup order
793
 
794
  // Instantiate order object
795
  $order = new WC_Order();
@@ -832,7 +879,6 @@ class wcast_initialise_customizer_settings {
832
  // Return mockup order
833
  return $order;
834
  }
835
-
836
  }
837
  }
838
  /**
10
  class wcast_initialise_customizer_settings {
11
  // Get our default values
12
  private static $order_ids = null;
13
+
14
  public function __construct() {
15
  // Get our Customizer defaults
16
+ $this->defaults = $this->wcast_generate_defaults();
 
17
 
18
  // Register our sample default controls
19
  add_action( 'customize_register', array( $this, 'wcast_register_sample_default_controls' ) );
21
  // Only proceed if this is own request.
22
  if ( ! wcast_initialise_customizer_settings::is_own_customizer_request() && ! wcast_initialise_customizer_settings::is_own_preview_request() ) {
23
  return;
24
+ }
 
25
 
26
  // Register our Panels
27
  add_action( 'customize_register', array( wcast_customizer(), 'wcast_add_customizer_panels' ) );
48
  add_action( 'customize_preview_init', array( $this, 'enqueue_preview_scripts' ) );
49
  }
50
 
51
+ /**
52
+ * add css and js for preview
53
+ */
54
+ public function enqueue_preview_scripts() {
55
  wp_enqueue_script('wcast-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . '/assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
56
  wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
57
  $preview_id = get_theme_mod('wcast_email_preview_order_id');
59
  'site_title' => $this->get_blogname(),
60
  'order_number' => $preview_id,
61
  ));
62
+ }
63
+
64
+ /**
65
+ * Get blog name formatted for emails.
66
+ *
67
+ * @return string
68
+ */
69
  public function get_blogname() {
70
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
71
  }
79
  public static function is_own_preview_request() {
80
  return isset( $_REQUEST['wcast-tracking-preview'] ) && '1' === $_REQUEST['wcast-tracking-preview'];
81
  }
82
+
83
  /**
84
  * Checks to see if we are opening our custom customizer controls
85
  *
88
  */
89
  public static function is_own_customizer_request() {
90
  return isset( $_REQUEST['email'] ) && $_REQUEST['email'] === 'default_controls_section';
91
+ }
92
+
93
  /**
94
  * Get Customizer URL
95
  *
104
  ), admin_url( 'customize.php' ) );
105
 
106
  return $customizer_url;
107
+ }
108
+
109
  /**
110
  * Get WooCommerce email settings page URL
111
  *
115
  public static function get_email_settings_page_url($return_tab) {
116
  return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking&tab='.$return_tab );
117
  }
118
+
119
+ /**
120
+ * code for initialize default value for customizer
121
+ */
122
  public function wcast_generate_defaults() {
123
  $customizer_defaults = array(
124
  'display_shipment_provider_image' => '',
150
 
151
  return apply_filters( 'skyrocket_customizer_defaults', $customizer_defaults );
152
  }
153
+
154
  /**
155
  * Register our sample default controls
156
  */
159
  * Load all our Customizer Custom Controls
160
  */
161
  require_once trailingslashit( dirname(__FILE__) ) . 'custom-controls.php';
162
+
163
+ $font_size_array[ '' ] = __( 'Select', 'woocommerce' );
164
+ for ( $i = 10; $i <= 30; $i++ ) {
165
+ $font_size_array[ $i ] = $i."px";
166
+ }
167
+
168
  // Preview Order
169
  $wp_customize->add_setting( 'wcast_preview_order_id',
170
  array(
312
  )
313
  );
314
 
315
+ // Test of Toggle Switch Custom Control
316
+ $wp_customize->add_setting( 'table_header_block',
317
+ array(
318
+ 'default' => '',
319
+ 'transport' => 'postMessage',
320
+ 'sanitize_callback' => ''
321
+ )
322
+ );
323
+ $wp_customize->add_control( new WP_Customize_Heading_Control( $wp_customize, 'table_header_block',
324
+ array(
325
+ 'label' => __( 'Table Header', 'woo-advanced-shipment-tracking' ),
326
+ 'section' => 'default_controls_section'
327
+ )
328
+ ) );
329
+
330
+ // Show track label
331
+ $wp_customize->add_setting( 'hide_table_header',
332
+ array(
333
+ 'default' => '',
334
+ 'transport' => 'postMessage',
335
+ 'sanitize_callback' => ''
336
+ )
337
+ );
338
+ $wp_customize->add_control( 'hide_table_header',
339
+ array(
340
+ 'label' => __( 'Hide Header', 'woo-advanced-shipment-tracking' ),
341
+ 'description' => esc_html__( '', 'woo-advanced-shipment-tracking' ),
342
+ 'section' => 'default_controls_section',
343
+ 'type' => 'checkbox'
344
+ )
345
+ );
346
+
347
  // Provider Header Text
348
  $wp_customize->add_setting( 'provider_header_text',
349
  array(
446
  )
447
  );
448
 
449
+ // Table header font size
450
+ $wp_customize->add_setting( 'table_header_font_size',
451
+ array(
452
+ 'default' => $this->defaults['table_header_font_size'],
453
+ 'transport' => 'postMessage',
454
+ 'sanitize_callback' => ''
455
+ )
456
+ );
457
+ $wp_customize->add_control( 'table_header_font_size',
458
+ array(
459
+ 'label' => __( 'Table header font size', 'woo-advanced-shipment-tracking' ),
460
+ 'section' => 'default_controls_section',
461
+ 'type' => 'select',
462
+ 'choices' => $font_size_array
463
+ )
464
+ );
465
+
466
+ // Table header font color
467
+ $wp_customize->add_setting( 'table_header_font_color',
468
+ array(
469
+ 'default' => $this->defaults['table_header_font_color'],
470
+ 'transport' => 'postMessage',
471
+ 'sanitize_callback' => ''
472
+ )
473
+ );
474
+ $wp_customize->add_control( 'table_header_font_color',
475
+ array(
476
+ 'label' => __( 'Table header font color', 'woo-advanced-shipment-tracking' ),
477
+ 'section' => 'default_controls_section',
478
+ 'type' => 'color'
479
+ )
480
+ );
481
+
482
  // Test of Toggle Switch Custom Control
483
  $wp_customize->add_setting( 'table_header',
484
  array(
572
  'section' => 'default_controls_section',
573
  'type' => 'select',
574
  'choices' => array(
575
+ '' => __( 'Select', 'woocommerce' ),
576
  '1' => '1 px',
577
  '2' => '2 px',
578
  '3' => '3 px',
596
  'section' => 'default_controls_section',
597
  'type' => 'select',
598
  'choices' => array(
599
+ '' => __( 'Select', 'woocommerce' ),
600
+ 'left' => __( 'Left', '' ),
601
+ 'right' => __( 'Right', '' ),
602
+ 'center' => __( 'Center', '' )
603
  )
604
  )
605
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
606
 
607
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
608
  // Table content font size
609
  $wp_customize->add_setting( 'table_content_font_size',
610
  array(
760
  exit;
761
  }
762
 
763
+ /**
764
+ * code for preview of tracking info in email
765
+ */
766
  public function preview_completed_email(){
767
 
768
  $ast = new WC_Advanced_Shipment_Tracking_Actions;
788
  $order_status = 'completed';
789
 
790
  if($preview_id == '' || $preview_id == 'mockup') {
791
+ $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select order to preview.', 'woo-advanced-shipment-tracking' ) . '</div>';
792
  echo $content;
793
  return;
794
  }
825
  }
826
  echo $content;
827
  }
828
+
829
  /**
830
  * Get WooCommerce order for preview
831
  *
836
  public static function get_wc_order_for_preview( $order_status = null, $order_id = null ) {
837
  if ( ! empty( $order_id ) && 'mockup' != $order_id ) {
838
  return wc_get_order( $order_id );
839
+ } else {
 
840
 
841
  // Instantiate order object
842
  $order = new WC_Order();
879
  // Return mockup order
880
  return $order;
881
  }
 
882
  }
883
  }
884
  /**
includes/customizer/class-wc-tracking-page-customizer.php DELETED
@@ -1,734 +0,0 @@
1
- <?php
2
- /**
3
- * Customizer Setup and Custom Controls
4
- *
5
- */
6
-
7
- /**
8
- * Adds the individual sections, settings, and controls to the theme customizer
9
- */
10
- class wcast_tracking_page_customizer {
11
- // Get our default values
12
- public function __construct() {
13
- // Get our Customizer defaults
14
- $this->defaults = $this->wcast_generate_defaults();
15
- $wc_ast_api_key = get_option('wc_ast_api_key');
16
- if(!$wc_ast_api_key){
17
- return;
18
- }
19
-
20
- // Register our sample default controls
21
- add_action( 'customize_register', array( $this, 'wcast_register_sample_default_controls' ) );
22
-
23
- // Only proceed if this is own request.
24
- if ( ! wcast_tracking_page_customizer::is_own_customizer_request() && ! wcast_tracking_page_customizer::is_own_preview_request() ) {
25
- return;
26
- }
27
-
28
- // Set up preview.
29
-
30
- // Register our Panels
31
- add_action( 'customize_register', array( wcast_customizer(), 'wcast_add_customizer_panels' ) );
32
-
33
- // Register our sections
34
- add_action( 'customize_register', array( wcast_customizer(), 'wcast_add_customizer_sections' ) );
35
-
36
- // Remove unrelated components.
37
- add_filter( 'customize_loaded_components', array( wcast_customizer(), 'remove_unrelated_components' ), 99, 2 );
38
-
39
- // Remove unrelated sections.
40
- add_filter( 'customize_section_active', array( wcast_customizer(), 'remove_unrelated_sections' ), 10, 2 );
41
-
42
- // Unhook divi front end.
43
- add_action( 'woomail_footer', array( wcast_customizer(), 'unhook_divi' ), 10 );
44
-
45
- // Unhook Flatsome js
46
- add_action( 'customize_preview_init', array( wcast_customizer(), 'unhook_flatsome' ), 50 );
47
-
48
- add_filter( 'customize_controls_enqueue_scripts', array( wcast_customizer(), 'enqueue_customizer_scripts' ) );
49
-
50
- add_action( 'customize_preview_init', array( $this, 'enqueue_preview_scripts' ) );
51
-
52
- add_action( 'parse_request', array( $this, 'set_up_preview' ) );
53
- }
54
-
55
- public function enqueue_preview_scripts() {
56
-
57
- wp_enqueue_script('wcast-preview-scripts', wc_advanced_shipment_tracking()->plugin_dir_url() . '/assets/js/preview-scripts.js', array('jquery', 'customize-preview'), wc_advanced_shipment_tracking()->version, true);
58
- wp_enqueue_style('wcast-preview-styles', wc_advanced_shipment_tracking()->plugin_dir_url() . 'assets/css/preview-styles.css', array(), wc_advanced_shipment_tracking()->version );
59
- wp_localize_script('wcast-preview-scripts', 'wcast_preview', array(
60
- 'site_title' => $this->get_blogname(),
61
- ));
62
- }
63
- /**
64
- * Get blog name formatted for emails.
65
- *
66
- * @return string
67
- */
68
- public function get_blogname() {
69
- return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
70
- }
71
- /**
72
- * Checks to see if we are opening our custom customizer preview
73
- *
74
- * @access public
75
- * @return bool
76
- */
77
- public static function is_own_preview_request() {
78
- return isset( $_REQUEST['wcast-tracking-page-preview'] ) && '1' === $_REQUEST['wcast-tracking-page-preview'];
79
- }
80
- /**
81
- * Checks to see if we are opening our custom customizer controls
82
- *
83
- * @access public
84
- * @return bool
85
- */
86
- public static function is_own_customizer_request() {
87
- return isset( $_REQUEST['email'] ) && $_REQUEST['email'] === 'tracking_page_section';
88
- }
89
- /**
90
- * Get Customizer URL
91
- *
92
- */
93
- public static function get_customizer_url($email) {
94
- $customizer_url = add_query_arg( array(
95
- 'wcast-customizer' => '1',
96
- 'email' => $email,
97
- 'url' => urlencode( add_query_arg( array( 'wcast-tracking-page-preview' => '1' ), home_url( '/' ) ) ),
98
- 'return' => urlencode( wcast_tracking_page_customizer::get_email_settings_page_url() ),
99
- ), admin_url( 'customize.php' ) );
100
-
101
- return $customizer_url;
102
- }
103
- /**
104
- * Get WooCommerce email settings page URL
105
- *
106
- * @access public
107
- * @return string
108
- */
109
- public static function get_email_settings_page_url() {
110
- return admin_url( 'admin.php?page=woocommerce-advanced-shipment-tracking' );
111
- }
112
- public function wcast_generate_defaults() {
113
- $customizer_defaults = array(
114
- 'wcast_tracking_page_list' => 'select',
115
- 'remove_trackship_branding' => '',
116
- 'use_tracking_page' => '',
117
- 'tpage_primary_color' => '',
118
- 'tpage_success_color' => '',
119
- 'tpage_warning_color' => '',
120
- 'tpage_border_color' => '',
121
- 'tracking_info_width' => '800',
122
- 'tdetails_border_color' => '#E4ECEF',
123
- 'tinfo_shade_color' => '#F5F8F8',
124
- 'tevents_font_color' => '#777',
125
- 'table_margin_top_bottom' => '20',
126
- );
127
-
128
- return apply_filters( 'skyrocket_customizer_defaults', $customizer_defaults );
129
- }
130
- /**
131
- * Register our sample default controls
132
- */
133
- public function wcast_register_sample_default_controls( $wp_customize ) {
134
- /**
135
- * Load all our Customizer Custom Controls
136
- */
137
- require_once trailingslashit( dirname(__FILE__) ) . 'custom-controls.php';
138
- $page_list = wp_list_pluck( get_pages(), 'post_title', 'ID' );
139
-
140
- // Display Shipment Provider image/thumbnail
141
- $wp_customize->add_setting( 'remove_trackship_branding',
142
- array(
143
- 'default' => $this->defaults['remove_trackship_branding'],
144
- 'transport' => 'postMessage',
145
- 'sanitize_callback' => ''
146
- )
147
- );
148
- $wp_customize->add_control( 'remove_trackship_branding',
149
- array(
150
- 'label' => __( 'Remove Trackship branding from tracking page', 'woo-advanced-shipment-tracking' ),
151
- 'description' => esc_html__( '', 'woo-advanced-shipment-tracking' ),
152
- 'section' => 'tracking_page_section',
153
- 'type' => 'checkbox'
154
- )
155
- );
156
-
157
- // Primary color for tracking page
158
- $wp_customize->add_setting( 'tpage_primary_color',
159
- array(
160
- 'default' => $this->defaults['tpage_primary_color'],
161
- 'transport' => 'postMessage',
162
- 'sanitize_callback' => 'sanitize_hex_color'
163
- )
164
- );
165
- $wp_customize->add_control( 'tpage_primary_color',
166
- array(
167
- 'label' => __( 'Header Color', 'woo-advanced-shipment-tracking' ),
168
- 'section' => 'tracking_page_section',
169
- 'type' => 'color',
170
- )
171
- );
172
-
173
- // Success color for tracking page
174
- $wp_customize->add_setting( 'tpage_success_color',
175
- array(
176
- 'default' => $this->defaults['tpage_success_color'],
177
- 'transport' => 'postMessage',
178
- 'sanitize_callback' => 'sanitize_hex_color'
179
- )
180
- );
181
- $wp_customize->add_control( 'tpage_success_color',
182
- array(
183
- 'label' => __( 'Success Status Color', 'woo-advanced-shipment-tracking' ),
184
- 'section' => 'tracking_page_section',
185
- 'type' => 'color',
186
- )
187
- );
188
-
189
- // Warning color for tracking page
190
- $wp_customize->add_setting( 'tpage_warning_color',
191
- array(
192
- 'default' => $this->defaults['tpage_warning_color'],
193
- 'transport' => 'postMessage',
194
- 'sanitize_callback' => 'sanitize_hex_color'
195
- )
196
- );
197
- $wp_customize->add_control( 'tpage_warning_color',
198
- array(
199
- 'label' => __( 'Warning Status Color', 'woo-advanced-shipment-tracking' ),
200
- 'section' => 'tracking_page_section',
201
- 'type' => 'color',
202
- )
203
- );
204
-
205
- // Content border color for tracking page
206
- $wp_customize->add_setting( 'tpage_border_color',
207
- array(
208
- 'default' => $this->defaults['tpage_border_color'],
209
- 'transport' => 'postMessage',
210
- 'sanitize_callback' => 'sanitize_hex_color'
211
- )
212
- );
213
- $wp_customize->add_control( 'tpage_border_color',
214
- array(
215
- 'label' => __( 'Tracking info Border Color', 'woo-advanced-shipment-tracking' ),
216
- 'section' => 'tracking_page_section',
217
- 'type' => 'color',
218
- )
219
- );
220
- // Tracking info width
221
- $wp_customize->add_setting( 'tracking_info_width',
222
- array(
223
- 'default' => $this->defaults['tracking_info_width'],
224
- 'transport' => 'postMessage',
225
- 'sanitize_callback' => ''
226
- )
227
- );
228
- $wp_customize->add_control( new Skyrocket_Slider_Custom_Control( $wp_customize, 'tracking_info_width',
229
- array(
230
- 'label' => __( 'Tracking info width (px)', 'woo-advanced-shipment-tracking' ),
231
- 'section' => 'tracking_page_section',
232
- 'input_attrs' => array(
233
- 'default' => $this->defaults['tracking_info_width'],
234
- 'step' => 10,
235
- 'min' => 200,
236
- 'max' => 1500,
237
- ),
238
- )
239
- ));
240
- // Tracking details Border Color
241
- $wp_customize->add_setting( 'tdetails_border_color',
242
- array(
243
- 'default' => $this->defaults['tdetails_border_color'],
244
- 'transport' => 'postMessage',
245
- 'sanitize_callback' => 'sanitize_hex_color'
246
- )
247
- );
248
- $wp_customize->add_control( 'tdetails_border_color',
249
- array(
250
- 'label' => __( 'Tracking details Border Color', 'woo-advanced-shipment-tracking' ),
251
- 'section' => 'tracking_page_section',
252
- 'type' => 'color',
253
- )
254
- );
255
- // Tracking info table shade color
256
- $wp_customize->add_setting( 'tinfo_shade_color',
257
- array(
258
- 'default' => $this->defaults['tinfo_shade_color'],
259
- 'transport' => 'postMessage',
260
- 'sanitize_callback' => 'sanitize_hex_color'
261
- )
262
- );
263
- $wp_customize->add_control( 'tinfo_shade_color',
264
- array(
265
- 'label' => __( 'Tracking info table shade color', 'woo-advanced-shipment-tracking' ),
266
- 'section' => 'tracking_page_section',
267
- 'type' => 'color',
268
- )
269
- );
270
- // Tracking events font color
271
- $wp_customize->add_setting( 'tevents_font_color',
272
- array(
273
- 'default' => $this->defaults['tevents_font_color'],
274
- 'transport' => 'postMessage',
275
- 'sanitize_callback' => 'sanitize_hex_color'
276
- )
277
- );
278
- $wp_customize->add_control( 'tevents_font_color',
279
- array(
280
- 'label' => __( 'Tracking events font color', 'woo-advanced-shipment-tracking' ),
281
- 'section' => 'tracking_page_section',
282
- 'type' => 'color',
283
- )
284
- );
285
- // Tracking info width
286
- $wp_customize->add_setting( 'table_margin_top_bottom',
287
- array(
288
- 'default' => $this->defaults['table_margin_top_bottom'],
289
- 'transport' => 'postMessage',
290
- 'sanitize_callback' => ''
291
- )
292
- );
293
- $wp_customize->add_control( new Skyrocket_Slider_Custom_Control( $wp_customize, 'table_margin_top_bottom',
294
- array(
295
- 'label' => __( 'Tracking info table margin top/bottom(px)', 'woo-advanced-shipment-tracking' ),
296
- 'section' => 'tracking_page_section',
297
- 'input_attrs' => array(
298
- 'default' => $this->defaults['table_margin_top_bottom'],
299
- 'step' => 1,
300
- 'min' => 5,
301
- 'max' => 50,
302
- ),
303
- )
304
- ));
305
- }
306
-
307
- /**
308
- * Set up preview
309
- *
310
- * @access public
311
- * @return void
312
- */
313
- public function set_up_preview() {
314
- // Make sure this is own preview request.
315
- if ( ! wcast_tracking_page_customizer::is_own_preview_request() ) {
316
- return;
317
- }
318
- include wc_advanced_shipment_tracking()->get_plugin_path() . '/includes/customizer/preview/tracking_page_preview.php';
319
- exit;
320
- }
321
-
322
- public function preview_tracking_page(){
323
-
324
- $wc_ast_api_key = get_option('wc_ast_api_key');
325
- $remove_trackship_branding = get_theme_mod('remove_trackship_branding');
326
- $use_tracking_page = get_theme_mod('use_tracking_page');
327
- $primary_color = get_theme_mod('tpage_primary_color');
328
- $success_color = get_theme_mod('tpage_success_color');
329
- $warning_color = get_theme_mod('tpage_warning_color');
330
- $border_color = get_theme_mod('tpage_border_color');
331
- $remove_trackship_branding = get_theme_mod('remove_trackship_branding');
332
- $tracking_info_width = get_theme_mod('tracking_info_width');
333
- $tdetails_border_color = get_theme_mod('tdetails_border_color');
334
- $tinfo_shade_color = get_theme_mod('tinfo_shade_color');
335
- $tevents_font_color = get_theme_mod('tevents_font_color');
336
- $table_margin_top_bottom = get_theme_mod('table_margin_top_bottom');
337
- ?>
338
- <style>
339
- <?php if($success_color){ ?>
340
- .progress-bar.bg-success{
341
- background-color:<?php echo $success_color; ?>;
342
- }
343
- .tracker-progress-bar-with-dots .success .dot{
344
- border-color: <?php echo $success_color; ?>;
345
- }
346
- .text-success{
347
- color: <?php echo $success_color; ?>;
348
- }
349
- <?php } ?>
350
- <?php if($warning_color){ ?>
351
- .progress-bar.bg-warning{
352
- background-color:<?php echo $warning_color; ?>;
353
- }
354
- .tracker-progress-bar-with-dots .warning .dot{
355
- border-color: <?php echo $warning_color; ?>;
356
- }
357
- .text-warning{
358
- color: <?php echo $warning_color; ?>;
359
- }
360
- <?php } ?>
361
- <?php if($primary_color){ ?>
362
- .bg-secondary{
363
- background-color:<?php echo $primary_color; ?>;
364
- }
365
- .tracker-progress-bar-with-dots .secondary .dot {
366
- border-color: <?php echo $primary_color; ?>;
367
- }
368
- .text-secondary{
369
- color: <?php echo $primary_color; ?>;
370
- }
371
- <?php } ?>
372
- <?php if($border_color){ ?>
373
- .col.tracking-detail{
374
- border: 1px solid <?php echo $border_color; ?>;
375
- }
376
- <?php }
377
- if($remove_trackship_branding == 1){ ?>
378
- .trackship_branding{
379
- display:none;
380
- }
381
- <?php }
382
-
383
- if($tracking_info_width){ ?>
384
- .col.tracking-detail{
385
- width: <?php echo $tracking_info_width; ?>px;
386
- }
387
- <?php
388
- }
389
- if($tdetails_border_color){ ?>
390
- .tracking-details{
391
- border-color: <?php echo $tdetails_border_color; ?>;
392
- }
393
- <?php }
394
- if($tinfo_shade_color){ ?>
395
- .bg-gray-100{
396
- background-color: <?php echo $tinfo_shade_color; ?>;
397
- }
398
- <?php }
399
- if($tevents_font_color){ ?>
400
- .text-gray-300{
401
- color: <?php echo $tevents_font_color; ?>;
402
- }
403
- <?php } if($table_margin_top_bottom){
404
- ?>
405
- .col.tracking-detail{
406
- margin: <?php echo $table_margin_top_bottom; ?>px auto;
407
- }
408
-
409
- <?php
410
- }?>
411
- </style>
412
- <?php
413
- if(!$wc_ast_api_key){
414
- return;
415
- }
416
-
417
- /* $order_id = get_theme_mod('wcast_tpage_preview_order_id');
418
- if($order_id == '' || $order_id == 'mockup') {
419
- $content = '<div style="padding: 35px 40px; background-color: white;">' . __( 'Please select preview order.', 'woo-advanced-shipment-tracking' ) . '</div>';
420
- echo $content;
421
- return;
422
- }
423
- $order = new WC_Order( $order_id );
424
-
425
- //$order_key = $_GET['key'];
426
- if(!get_post_status( $order_id )){
427
- return;
428
- }
429
- if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
430
- $tracking_items = get_post_meta( $order_id, '_wc_shipment_tracking_items', true );
431
- //$get_order_key = get_post_meta( $order_id, 'order_key', true );
432
- } else {
433
- $order = new WC_Order( $order_id );
434
- $tracking_items = $order->get_meta( '_wc_shipment_tracking_items', true );
435
- //$get_order_key = $order->order_key;
436
- }
437
- $num = 1;
438
- $total_trackings = sizeof($tracking_items);
439
- foreach($tracking_items as $item){
440
- $tracking_number = $item['tracking_number'];
441
- $trackship_url = 'https://trackship.info';
442
- $url = $trackship_url.'/wp-json/wc/v1/get_tracking_info_by_number';
443
- $args['body'] = array(
444
- 'tracking_number' => $tracking_number
445
- );
446
- $response = wp_remote_post( $url, $args );
447
- $data = $response['body'];
448
- $decoded_data = json_decode($data);
449
-
450
- $tracker = $decoded_data[0];
451
-
452
- $tracking_detail_org = '';
453
-
454
-
455
-
456
- if($tracker->tracking_detail != 'null'){
457
- $tracking_detail = array_reverse(json_decode($tracker->tracking_detail));
458
- $tracking_detail_org = json_decode($tracker->tracking_detail);
459
- $trackind_detail_by_status = array();
460
- foreach ($tracking_detail_org as $key => $item) {
461
- $trackind_detail_by_status[$item->status] = $item;
462
- }
463
- $trackind_detail_by_status_rev = array_reverse($trackind_detail_by_status);
464
- }
465
-
466
- $unixTimestamp = strtotime($tracker->est_delivery_date);
467
- //Get the day of the week using PHP's date function.
468
- $day = date("l", $unixTimestamp);
469
- if($tracking_detail_org){
470
- ?>
471
-
472
- <div class="tracking-detail col">
473
- <?php if($total_trackings > 1 ){ ?>
474
- <p class="shipment_heading"><?php
475
- echo sprintf(__("Shipment - %s (out of %s)", 'woo-advanced-shipment-tracking'), $num , $total_trackings); ?></p>
476
- <?php } ?>
477
- <h1 class="shipment_status_heading text-secondary"><?php echo apply_filters("trackship_status_filter",$tracker->ep_status);?></h1>
478
- <div class="status-section">
479
- <div class="tracker-progress-bar tracker-progress-bar-with-dots">
480
- <div class="progress">
481
- <div class="progress-bar <?php if($tracker->ep_status == "delivered") { echo 'bg-success'; } elseif($tracker->ep_status == "return_to_sender" || $tracker->ep_status == "failure"){ echo 'bg-warning'; } else{ echo 'bg-secondary';} ?>" style="<?php if($tracker->ep_status == "in_transit") { echo 'width:33%;'; } elseif($tracker->ep_status == "out_for_delivery" || $tracker->ep_status == "available_for_pickup" || $tracker->ep_status == "return_to_sender" || $tracker->ep_status == "failure"){ echo 'width:66%';} elseif($tracker->ep_status == "delivered") { echo 'width:100%'; } ?>"></div>
482
- </div>
483
- <div class="<?php if($tracker->ep_status == "delivered") { echo 'success'; } elseif($tracker->ep_status == "return_to_sender" || $tracker->ep_status == "failure" || $tracker->ep_status == "unknown") { echo 'warning'; } else{ echo 'secondary';} ?>">
484
- <span class="dot state-0"></span>
485
- <span class="state-label state-0 <?php if($tracker->ep_status =="pre_transit"){ echo 'current-state'; } else{ echo 'past-state';} ?>">
486
- <?php
487
- if($tracker->ep_status == "unknown"){
488
- echo apply_filters("trackship_status_filter",'unknown');
489
- } else{
490
- echo apply_filters("trackship_status_filter",'pre_transit');
491
- }
492
- ?>
493
- </span>
494
- <?php
495
- if($tracker->ep_status == "in_transit" || $tracker->ep_status == "out_for_delivery" || $tracker->ep_status == "available_for_pickup" || $tracker->ep_status == "return_to_sender" || $tracker->ep_status == "failure" || $tracker->ep_status == "delivered") {
496
- echo '<span class="dot state-1"></span>';
497
- }
498
- ?>
499
- <span class="state-label state-1 <?php if($tracker->ep_status == "in_transit"){ echo 'current-state'; } elseif($tracker->ep_status == "pre_transit"){ echo 'future-state'; } else{ echo 'past-state'; } ?>">
500
- <?php echo apply_filters("trackship_status_filter",'in_transit'); ?>
501
- </span>
502
- <?php
503
- if($tracker->ep_status == "delivered" || $tracker->ep_status == "return_to_sender" || $tracker->ep_status == "failure" || $tracker->ep_status == "out_for_delivery" || $tracker->ep_status == "available_for_pickup") {
504
- echo '<span class="dot state-2"></span>';
505
- }
506
- ?>
507
- <span class="state-label state-2 <?php if($tracker->ep_status == "out_for_delivery" || $tracker->ep_status == "available_for_pickup" || $tracker->ep_status == "failure" || $tracker->ep_status == "return_to_sender"){ echo 'current-state'; } elseif($tracker->ep_status == "pre_transit" || $tracker->ep_status == "in_transit"){ echo 'future-state'; } ?>">
508
- <?php
509
- if($tracker->ep_status == "return_to_sender"){
510
- echo apply_filters("trackship_status_filter",'return_to_sender');
511
- } elseif($tracker->ep_status == "failure"){
512
- echo apply_filters("trackship_status_filter",'failure');
513
- } else{
514
- echo apply_filters("trackship_status_filter",'out_for_delivery');
515
- }
516
- ?>
517
- </span>
518
- <?php
519
- if($tracker->ep_status == "delivered") {
520
- echo '<span class="dot state-3"></span>';
521
- }
522
- ?>
523
- <span class="state-label state-3 <?php if($tracker->ep_status == "delivered"){ echo 'current-state'; } elseif($tracker->ep_status == "pre_transit" || $tracker->ep_status == "in_transit" || $tracker->ep_status == "out_for_delivery" || $tracker->ep_status == "available_for_pickup" || $tracker->ep_status == "return_to_sender" || $tracker->ep_status == "failure"){ echo 'future-state'; }?>">
524
- <?php echo apply_filters("trackship_status_filter",'delivered'); ?>
525
- </span>
526
- </div>
527
- </div>
528
- </div>
529
- <div class="tracker-top-level">
530
- <div class="col-md col-md-6 pb-6 pb-md-0 est-delivery-date-container">
531
- <?php
532
- if($tracker->est_delivery_date){
533
- ?>
534
- <div class="text-muted">
535
- <?php _e( 'Estimated Delivery Date', 'woo-advanced-shipment-tracking' ); ?>
536
- </div>
537
- <h1 class="est-delivery-date text-secondary"><?php echo $day; ?>, <?php echo date('M d', strtotime($tracker->est_delivery_date)); ?></h1>
538
- <?php } else{ ?>
539
- <div class="text-muted">
540
- <?php _e( 'No Estimated Delivery Date', 'woo-advanced-shipment-tracking' ); ?>
541
- </div>
542
- <?php } ?>
543
- </div>
544
- <div class="col-md col-md-6">
545
- <div class="mb-2 mt-6 mt-md-0"><?php echo $tracker->carrier; ?></div>
546
- <div class="tracking-code text-secondary text-truncate font-weight-bold font-size-h5">
547
- <?php echo $tracker->tracking_code; ?>
548
- </div>
549
- </div>
550
- </div>
551
- <div class="shipment_progress_div">
552
- <div class="shipment_progress_heading_div">
553
- <?php if( sizeof($trackind_detail_by_status_rev) > 0 ){?>
554
- <div class="col-md col-md-6">
555
- <h2 class="font-weight-bold text-secondary py-2 mb-3"><?php _e( 'Shipment Progress', 'woo-advanced-shipment-tracking' ); ?></h2>
556
- </div>
557
- <div class="col-md col-md-6">
558
- <p class="small text-right"><span class="text-muted"><?php _e( 'Last Updated:', 'woo-advanced-shipment-tracking' ); ?></span> <strong> <?php echo date('F d g:iA', strtotime($tracker->ep_updated_at)); ?></strong></p>
559
- </div>
560
- <?php } ?>
561
- </div>
562
- <div class="">
563
- <?php if( sizeof($trackind_detail_by_status_rev) > 0 ){?>
564
- <ul class="tracking-details list-unstyled mb-4 border border-light">
565
- <?php } ?>
566
- <?php
567
- $i=0;
568
- foreach($trackind_detail_by_status_rev as $key=>$status_detail){
569
-
570
- ?>
571
- <!--li class="px-3 py-2 mb-3 font-weight-bold bg-gray-100 text-secondary">
572
- <?php echo date("F d, Y",strtotime($status_detail->datetime)); ?>
573
- </li-->
574
- <?php //foreach($date_detail as $time=>$time_detail){
575
- $bg_class = '';
576
- if ($i % 2 == 0){
577
- $bg_class = 'bg-gray-100';
578
- }
579
- ?>
580
- <li class="d-flex align-items-center mb-0 <?php echo $bg_class; ?>">
581
- <div class="font-size-h3 px-3 px-lg-4 <?php if($status_detail->status_detail == "arrived_at_destination" || $status_detail->status_detail == "arrived_at_pickup_location"){ echo 'ep-icon-theme1-delivered text-success'; } elseif($status_detail->status_detail == "out_for_delivery" || $status_detail->status_detail == "available_for_pickup"){ echo 'ep-icon-theme1-clock text-secondary'; } elseif($status_detail->status_detail == "label_created"){ echo 'ep-icon-theme1-barcode text-secondary'; } elseif($status_detail->status_detail == "failure"){ echo 'ep-icon-theme1-exclamation text-warning'; } elseif($status_detail->status_detail == "return"){ echo 'ep-icon-theme1-back-arrow text-warning'; } else{ echo 'ep-icon-theme1-default';} ?> "></div>
582
- <div class="tracking-details-date text-gray-300 font-size-h5 text-center">
583
- <?php echo date("F d, Y",strtotime($status_detail->datetime)); ?>
584
- </div>
585
- <div class="tracking-details-time text-gray-300 font-size-h5 text-center">
586
- <?php echo date("g:i a", strtotime($status_detail->datetime)); ?>
587
- </div>
588
-
589
- <div>
590
- <div class="font-size-h5">
591
- <strong><?php echo $status_detail->description; ?></strong>
592
- </div>
593
- <div class="text-gray-300">
594
- <?php echo $status_detail->tracking_location->city; if($status_detail->tracking_location->city) echo ',';?>
595
- <?php echo $status_detail->tracking_location->state; ?>
596
- <?php echo $status_detail->tracking_location->zip; ?>
597
- <?php echo $status_detail->tracking_location->country; ?>
598
- </div>
599
- </div>
600
- </li>
601
- <?php //} ?>
602
- <?php $i++; } ?>
603
- <?php if( sizeof($trackind_detail_by_status_rev) > 0 ){?>
604
- </ul>
605
- <?php } ?>
606
- </div>
607
- </div>
608
- </div>
609
- <?php }
610
- $num++;}*/ ?>
611
- <?php
612
-
613
- ?>
614
- <div class="tracking-detail col">
615
- <h1 class="shipment_status_heading text-secondary">Delivered</h1>
616
- <div class="status-section">
617
- <div class="tracker-progress-bar tracker-progress-bar-with-dots">
618
- <div class="progress">
619
- <div class="progress-bar bg-success" style="width:100%"></div>
620
- </div>
621
- <div class="success">
622
- <span class="dot state-0"></span>
623
- <span class="state-label state-0 past-state">
624
- Pre Transit
625
- </span>
626
- <span class="dot state-1"></span>
627
- <span class="state-label state-1 past-state">
628
- In Transit
629
- </span>
630
- <span class="dot state-2"></span> <span class="state-label state-2 ">
631
- Out for delivery
632
- </span>
633
- <span class="dot state-3"></span> <span class="state-label state-3 current-state">
634
- Delivered </span>
635
- </div>
636
- </div>
637
- </div>
638
- <div class="tracker-top-level">
639
- <div class="col-md col-md-6 pb-6 pb-md-0 est-delivery-date-container">
640
- <div class="text-muted">
641
- Estimated Delivery Date
642
- </div>
643
- <h1 class="est-delivery-date text-secondary">Monday, Jun 03</h1>
644
- </div>
645
- <div class="col-md col-md-6">
646
- <div class="mb-2 mt-6 mt-md-0">FedEx</div>
647
- <div class="tracking-code text-secondary text-truncate font-weight-bold font-size-h5">
648
- 775313062254
649
- </div>
650
- </div>
651
- </div>
652
- <div class="shipment_progress_div">
653
- <div class="shipment_progress_heading_div">
654
- <div class="col-md col-md-6">
655
- <h2 class="font-weight-bold text-secondary py-2 mb-3">Shipment Progress</h2>
656
- </div>
657
- <div class="col-md col-md-6">
658
- <p class="small text-right"><span class="text-muted">Last Updated:</span> <strong> May 30 2:30AM</strong></p>
659
- </div>
660
- </div>
661
- <div class="">
662
- <ul class="tracking-details list-unstyled mb-4 border border-light">
663
- <!--li class="px-3 py-2 mb-3 font-weight-bold bg-gray-100 text-secondary">
664
- May 30, 2019 </li-->
665
- <li class="d-flex align-items-center mb-0 bg-gray-100">
666
- <div class="font-size-h3 px-3 px-lg-4 ep-icon-theme1-delivered text-success "></div>
667
- <div class="tracking-details-date text-gray-300 font-size-h5 text-center">
668
- May 30, 2019
669
- </div>
670
- <div class="tracking-details-time text-gray-300 font-size-h5 text-center">
671
- 1:18 am
672
- </div>
673
- <div>
674
- <div class="font-size-h5">
675
- <strong>Delivered</strong>
676
- </div>
677
- <div class="text-gray-300">
678
- TAITO-KU JP,
679
- </div>
680
- </div>
681
- </li>
682
- <!--li class="px-3 py-2 mb-3 font-weight-bold bg-gray-100 text-secondary">
683
- May 29, 2019 </li-->
684
- <li class="d-flex align-items-center mb-0 ">
685
- <div class="font-size-h3 px-3 px-lg-4 ep-icon-theme1-default "></div>
686
- <div class="tracking-details-date text-gray-300 font-size-h5 text-center">
687
- May 29, 2019
688
- </div>
689
- <div class="tracking-details-time text-gray-300 font-size-h5 text-center">
690
- 7:34 am
691
- </div>
692
- <div>
693
- <div class="font-size-h5">
694
- <strong>In transit</strong>
695
- </div>
696
- <div class="text-gray-300">
697
- TOKYO-KOTO-KU JP,
698
- </div>
699
- </div>
700
- </li>
701
- <!--li class="px-3 py-2 mb-3 font-weight-bold bg-gray-100 text-secondary">
702
- May 26, 2019 </li-->
703
- <li class="d-flex align-items-center mb-0 bg-gray-100">
704
- <div class="font-size-h3 px-3 px-lg-4 ep-icon-theme1-barcode text-secondary "></div>
705
- <div class="tracking-details-date text-gray-300 font-size-h5 text-center">
706
- May 26, 2019
707
- </div>
708
- <div class="tracking-details-time text-gray-300 font-size-h5 text-center">
709
- 8:36 am
710
- </div>
711
- <div>
712
- <div class="font-size-h5">
713
- <strong>Shipment information sent to FedEx</strong>
714
- </div>
715
- <div class="text-gray-300">
716
- </div>
717
- </div>
718
- </li>
719
- </ul>
720
- </div>
721
- </div>
722
- </div>
723
- <div class="trackship_branding" >
724
- <p>Shipment Tracking info by <a href="https://trackship.info" title="TrackShip" target="blank">TrackShip</a></p>
725
- </div>
726
- <?php
727
-
728
- }
729
- }
730
- /**
731
- * Initialise our Customizer settings
732
- */
733
-
734
- $wcast_customizer_settings = new wcast_tracking_page_customizer();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/customizer/class-wcast-customizer.php CHANGED
@@ -11,13 +11,14 @@ class WC_Advanced_Shipment_Tracking_Customizer {
11
  * @var object Class Instance
12
  */
13
  private static $instance;
 
14
  /**
15
  * Initialize the main plugin function
16
  */
17
  public function __construct() {
18
-
19
- //$this->init();
20
  }
 
21
  /**
22
  * Register the Customizer panels
23
  */
@@ -41,6 +42,7 @@ class WC_Advanced_Shipment_Tracking_Customizer {
41
  )
42
  );
43
  }
 
44
  /**
45
  * Register the Customizer sections
46
  */
@@ -61,6 +63,14 @@ class WC_Advanced_Shipment_Tracking_Customizer {
61
  )
62
  );
63
 
 
 
 
 
 
 
 
 
64
  $wp_customize->add_section( 'customer_failure_email',
65
  array(
66
  'title' => __( 'Pre Transit', 'woo-advanced-shipment-tracking' ),
@@ -115,6 +125,10 @@ class WC_Advanced_Shipment_Tracking_Customizer {
115
  )
116
  );
117
  }
 
 
 
 
118
  public function enqueue_customizer_scripts(){
119
  $wcast_enable_delivered_email = get_option('woocommerce_customer_delivered_order_settings');
120
  if(isset( $_REQUEST['wcast-customizer'] ) && '1' === $_REQUEST['wcast-customizer']){
@@ -125,6 +139,7 @@ class WC_Advanced_Shipment_Tracking_Customizer {
125
  wp_localize_script('wcast-customizer-scripts', 'wcast_customizer', array(
126
  'ajax_url' => admin_url('admin-ajax.php'),
127
  'email_preview_url' => $this->get_email_preview_url(),
 
128
  'tracking_preview_url' => $this->get_tracking_preview_url(),
129
  'tracking_page_preview_url' => $this->get_tracking_page_preview_url(),
130
  'customer_failure_preview_url' => $this->get_customer_failure_preview_url(),
@@ -138,6 +153,7 @@ class WC_Advanced_Shipment_Tracking_Customizer {
138
  ));
139
  }
140
  }
 
141
  /**
142
  * Get Customizer URL
143
  *
@@ -149,6 +165,19 @@ class WC_Advanced_Shipment_Tracking_Customizer {
149
 
150
  return $email_preview_url;
151
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  /**
153
  * Get Customizer URL
154
  *
@@ -160,6 +189,7 @@ class WC_Advanced_Shipment_Tracking_Customizer {
160
 
161
  return $tracking_preview_url;
162
  }
 
163
  /**
164
  * Get Tracking page preview URL
165
  *
@@ -171,6 +201,7 @@ class WC_Advanced_Shipment_Tracking_Customizer {
171
  //$tracking_page_preview_url = get_permalink( '3570' );
172
  return $tracking_page_preview_url;
173
  }
 
174
  /**
175
  * Get Tracking page preview URL
176
  *
@@ -182,6 +213,7 @@ class WC_Advanced_Shipment_Tracking_Customizer {
182
 
183
  return $customer_failure_preview_url;
184
  }
 
185
  /**
186
  * Get Tracking page preview URL
187
  *
@@ -192,7 +224,8 @@ class WC_Advanced_Shipment_Tracking_Customizer {
192
  ), home_url( '' ) );
193
 
194
  return $customer_intransit_preview_url;
195
- }
 
196
  /**
197
  * Get Tracking page preview URL
198
  *
@@ -204,6 +237,7 @@ class WC_Advanced_Shipment_Tracking_Customizer {
204
 
205
  return $customer_intransit_preview_url;
206
  }
 
207
  /**
208
  * Get Tracking page preview URL
209
  *
@@ -215,6 +249,7 @@ class WC_Advanced_Shipment_Tracking_Customizer {
215
 
216
  return $customer_intransit_preview_url;
217
  }
 
218
  /**
219
  * Get Tracking page preview URL
220
  *
@@ -318,13 +353,14 @@ class WC_Advanced_Shipment_Tracking_Customizer {
318
  */
319
  public static function is_own_section( $key ) {
320
 
321
- if ($key === 'default_controls_section' || $key === 'tracking_page_section' || $key === 'customer_delivered_email' || $key === 'customer_failure_email' || $key === 'customer_intransit_email' || $key === 'customer_outfordelivery_email' || $key === 'customer_delivered_status_email' || $key === 'customer_returntosender_email' || $key === 'customer_availableforpickup_email') {
322
  return true;
323
  }
324
 
325
  // Section not found
326
  return false;
327
  }
 
328
  /*
329
  * Unhook flatsome front end.
330
  */
@@ -332,7 +368,8 @@ class WC_Advanced_Shipment_Tracking_Customizer {
332
  // Unhook flatsome issue.
333
  wp_dequeue_style( 'flatsome-customizer-preview' );
334
  wp_dequeue_script( 'flatsome-customizer-frontend-js' );
335
- }
 
336
  /*
337
  * Unhook Divi front end.
338
  */
@@ -341,6 +378,7 @@ class WC_Advanced_Shipment_Tracking_Customizer {
341
  remove_action( 'wp_footer', 'et_builder_get_modules_js_data' );
342
  remove_action( 'et_customizer_footer_preview', 'et_load_social_icons' );
343
  }
 
344
  /**
345
  * Get Order Ids
346
  *
11
  * @var object Class Instance
12
  */
13
  private static $instance;
14
+
15
  /**
16
  * Initialize the main plugin function
17
  */
18
  public function __construct() {
19
+
 
20
  }
21
+
22
  /**
23
  * Register the Customizer panels
24
  */
42
  )
43
  );
44
  }
45
+
46
  /**
47
  * Register the Customizer sections
48
  */
63
  )
64
  );
65
 
66
+ $wp_customize->add_section( 'customer_partial_shipped_email',
67
+ array(
68
+ 'title' => __( 'Partial Shipped status email', 'woo-advanced-shipment-tracking' ),
69
+ 'description' => esc_html__( '', 'woo-advanced-shipment-tracking' ),
70
+ 'panel' => 'wcast_naviation_panel'
71
+ )
72
+ );
73
+
74
  $wp_customize->add_section( 'customer_failure_email',
75
  array(
76
  'title' => __( 'Pre Transit', 'woo-advanced-shipment-tracking' ),
125
  )
126
  );
127
  }
128
+
129
+ /**
130
+ * add css and js for customizer
131
+ */
132
  public function enqueue_customizer_scripts(){
133
  $wcast_enable_delivered_email = get_option('woocommerce_customer_delivered_order_settings');
134
  if(isset( $_REQUEST['wcast-customizer'] ) && '1' === $_REQUEST['wcast-customizer']){
139
  wp_localize_script('wcast-customizer-scripts', 'wcast_customizer', array(
140
  'ajax_url' => admin_url('admin-ajax.php'),
141
  'email_preview_url' => $this->get_email_preview_url(),
142
+ 'partial_shipped_email_preview_url' => $this->get_partial_shipped_email_preview_url(),
143
  'tracking_preview_url' => $this->get_tracking_preview_url(),
144
  'tracking_page_preview_url' => $this->get_tracking_page_preview_url(),
145
  'customer_failure_preview_url' => $this->get_customer_failure_preview_url(),
153
  ));
154
  }
155
  }
156
+
157
  /**
158
  * Get Customizer URL
159
  *
165
 
166
  return $email_preview_url;
167
  }
168
+
169
+ /**
170
+ * Get Customizer URL
171
+ *
172
+ */
173
+ public static function get_partial_shipped_email_preview_url() {
174
+ $email_preview_url = add_query_arg( array(
175
+ 'wcast-partial-shipped-email-customizer-preview' => '1',
176
+ ), home_url( '' ) );
177
+
178
+ return $email_preview_url;
179
+ }
180
+
181
  /**
182
  * Get Customizer URL
183
  *
189
 
190
  return $tracking_preview_url;
191
  }
192
+
193
  /**
194
  * Get Tracking page preview URL
195
  *
201
  //$tracking_page_preview_url = get_permalink( '3570' );
202
  return $tracking_page_preview_url;
203
  }
204
+
205
  /**
206
  * Get Tracking page preview URL
207
  *
213
 
214
  return $customer_failure_preview_url;
215
  }
216
+
217
  /**
218
  * Get Tracking page preview URL
219
  *
224
  ), home_url( '' ) );
225
 
226
  return $customer_intransit_preview_url;
227
+ }
228
+
229
  /**
230
  * Get Tracking page preview URL
231
  *
237
 
238
  return $customer_intransit_preview_url;
239
  }
240
+
241
  /**
242
  * Get Tracking page preview URL
243
  *
249
 
250
  return $customer_intransit_preview_url;
251
  }
252
+
253
  /**
254
  * Get Tracking page preview URL
255
  *
353
  */
354
  public static function is_own_section( $key ) {
355
 
356
+ if ($key === 'default_controls_section' || $key === 'tracking_page_section' || $key === 'customer_delivered_email' || $key === 'customer_partial_shipped_email' || $key === 'customer_failure_email' || $key === 'customer_intransit_email' || $key === 'customer_outfordelivery_email' || $key === 'customer_delivered_status_email' || $key === 'customer_returntosender_email' || $key === 'customer_availableforpickup_email') {
357
  return true;
358
  }
359
 
360
  // Section not found
361
  return false;
362
  }
363
+
364
  /*
365
  * Unhook flatsome front end.
366
  */
368
  // Unhook flatsome issue.
369
  wp_dequeue_style( 'flatsome-customizer-preview' );
370
  wp_dequeue_script( 'flatsome-customizer-frontend-js' );
371
+ }
372
+
373
  /*
374
  * Unhook Divi front end.
375
  */
378
  remove_action( 'wp_footer', 'et_builder_get_modules_js_data' );
379
  remove_action( 'et_customizer_footer_preview', 'et_load_social_icons' );
380
  }
381
+
382
  /**
383
  * Get Order Ids
384
  *
includes/customizer/delivered_preview.php CHANGED
@@ -3,28 +3,20 @@
3
  if (!defined('ABSPATH')) {
4
  exit;
5
  }
6
-
7
  ?>
8
-
9
  <head>
10
-
11
  <meta charset="<?php bloginfo('charset'); ?>" />
12
  <meta name="viewport" content="width=device-width" />
13
  <style type="text/css" id="kadence_woomail_designer_custom_css">.woocommerce-store-notice.demo_store, .mfp-hide {display: none;}</style>
14
  </head>
15
 
16
  <body>
17
-
18
  <div id="kt_woomail_preview_wrapper" style="display: block;">
19
-
20
  <?php wcast_initialise_customizer_email::preview_delivered_email(); ?>
21
-
22
  </div>
23
 
24
  <?php
25
  do_action( 'woomail_footer' );
26
  wp_footer(); ?>
27
-
28
  </body>
29
-
30
  </html>
3
  if (!defined('ABSPATH')) {
4
  exit;
5
  }
 
6
  ?>
 
7
  <head>
 
8
  <meta charset="<?php bloginfo('charset'); ?>" />
9
  <meta name="viewport" content="width=device-width" />
10
  <style type="text/css" id="kadence_woomail_designer_custom_css">.woocommerce-store-notice.demo_store, .mfp-hide {display: none;}</style>
11
  </head>
12
 
13
  <body>
 
14
  <div id="kt_woomail_preview_wrapper" style="display: block;">
 
15
  <?php wcast_initialise_customizer_email::preview_delivered_email(); ?>
 
16
  </div>
17
 
18
  <?php
19
  do_action( 'woomail_footer' );
20
  wp_footer(); ?>
 
21
  </body>
 
22
  </html>
includes/customizer/preview.php CHANGED
@@ -3,28 +3,18 @@
3
  if (!defined('ABSPATH')) {
4
  exit;
5
  }
6
-
7
  ?>
8
-
9
  <head>
10
-
11
  <meta charset="<?php bloginfo('charset'); ?>" />
12
  <meta name="viewport" content="width=device-width" />
13
  <style type="text/css" id="kadence_woomail_designer_custom_css">.woocommerce-store-notice.demo_store, .mfp-hide {display: none;}</style>
14
  </head>
15
-
16
  <body>
17
-
18
  <div id="kt_woomail_preview_wrapper" style="display: block;">
19
-
20
  <?php wcast_initialise_customizer_settings::preview_completed_email(); ?>
21
-
22
  </div>
23
-
24
  <?php
25
  do_action( 'woomail_footer' );
26
  wp_footer(); ?>
27
-
28
  </body>
29
-
30
  </html>
3
  if (!defined('ABSPATH')) {
4
  exit;
5
  }
 
6
  ?>
 
7
  <head>
 
8
  <meta charset="<?php bloginfo('charset'); ?>" />
9
  <meta name="viewport" content="width=device-width" />
10
  <style type="text/css" id="kadence_woomail_designer_custom_css">.woocommerce-store-notice.demo_store, .mfp-hide {display: none;}</style>
11
  </head>
 
12
  <body>
 
13
  <div id="kt_woomail_preview_wrapper" style="display: block;">
 
14
  <?php wcast_initialise_customizer_settings::preview_completed_email(); ?>
 
15
  </div>
 
16
  <?php
17
  do_action( 'woomail_footer' );
18
  wp_footer(); ?>
 
19
  </body>
 
20
  </html>
includes/customizer/preview/partial_shipped_preview.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Exit if accessed directly
3
+ if (!defined('ABSPATH')) {
4
+ exit;
5
+ }
6
+
7
+ ?>
8
+
9
+ <head>
10
+
11
+ <meta charset="<?php bloginfo('charset'); ?>" />
12
+ <meta name="viewport" content="width=device-width" />
13
+ <style type="text/css" id="ast_designer_custom_css">.woocommerce-store-notice.demo_store, .mfp-hide {display: none;}</style>
14
+ </head>
15
+
16
+ <body class="ast_preview_body">
17
+ <div id="overlay"></div>
18
+ <div id="ast_preview_wrapper" style="display: block;">
19
+
20
+ <?php wcast_partial_shipped_customizer_email::preview_partial_shipped_email(); ?>
21
+
22
+ </div>
23
+
24
+ <?php
25
+ do_action( 'woomail_footer' );
26
+ wp_footer(); ?>
27
+
28
+ </body>
29
+
30
+ </html>
includes/email-manager.php CHANGED
@@ -15,128 +15,138 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
15
  // hook for when order status is changed
16
  add_filter( 'woocommerce_email_classes', array( $this, 'custom_init_emails' ));
17
  }
18
-
 
 
 
19
  public function custom_init_emails( $emails ) {
20
 
21
  // Include the email class file if it's not included already
22
  if ( ! isset( $emails[ 'WC_Email_Customer_Delivered_Order' ] ) ) {
23
  $emails[ 'WC_Email_Customer_Delivered_Order' ] = include_once( 'emails/class-shipment-delivered-email.php' );
24
- }
 
 
 
 
25
  return $emails;
26
  }
27
 
 
 
 
28
  public function delivered_order_status_email_trigger($order_id, $order){
29
- $order_id = $order->get_id();
30
- $wcast_customizer_settings = new wcast_initialise_customizer_email();
31
- $email_subject = get_theme_mod('wcast_delivered_email_subject',$wcast_customizer_settings->defaults['wcast_delivered_email_subject']);
32
- $subject = $this->email_subject($email_subject,$order_id,$order);
33
-
34
- $email_to = get_theme_mod('wcast_delivered_email_to',$wcast_customizer_settings->defaults['wcast_delivered_email_to']);
 
 
 
 
35
 
 
36
 
37
- $enable = get_theme_mod('wcast_enable_delivered_email');
38
- if($enable == 1){
39
-
40
- $email_to = explode(",",$email_to);
 
 
 
 
 
41
 
42
- foreach($email_to as $email){
43
- $email_heading = get_theme_mod('wcast_delivered_email_heading',$wcast_customizer_settings->defaults['wcast_delivered_email_heading']);
44
- $email_content = get_theme_mod('wcast_delivered_email_content',$wcast_customizer_settings->defaults['wcast_delivered_email_content']);
45
- $wcast_show_tracking_details = get_theme_mod('wcast_show_tracking_details');
46
- $wcast_show_order_details = get_theme_mod('wcast_show_order_details');
47
- $wcast_show_billing_address = get_theme_mod('wcast_show_billing_address');
48
- $wcast_show_shipping_address = get_theme_mod('wcast_show_shipping_address');
49
- $sent_to_admin = false;
50
- $plain_text = false;
51
-
52
-
53
- $recipient = $this->email_to($email,$order,$order_id);
54
 
55
- $email_content = $this->email_content($email_content,$order_id, $order);
56
-
57
- $mailer = WC()->mailer();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
 
59
- $email_heading = $this->email_heading($email_heading,$order_id,$order);
60
-
61
- $message = $email_content;
62
- $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
63
- if($wcast_show_tracking_details == 1){
64
- ob_start();
65
- wc_get_template( 'emails/tracking-info.php', array(
66
- 'tracking_items' => $wast->get_tracking_items( $order_id, true )
67
- ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
68
- $message .= ob_get_clean();
69
- }
70
- if($wcast_show_order_details == 1){
71
-
72
- ob_start();
73
- wc_get_template(
74
- 'emails/wcast-email-order-details.php', array(
 
75
  'order' => $order,
76
  'sent_to_admin' => $sent_to_admin,
77
- 'plain_text' => $plain_text,
78
- 'email' => '',
79
- ),
80
- 'woocommerce-advanced-shipment-tracking/',
81
- wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/'
82
- );
83
- $message .= ob_get_clean();
84
- }
85
- if($wcast_show_billing_address == 1){
86
- ob_start();
87
- wc_get_template(
88
- 'emails/wcast-billing-email-addresses.php', array(
89
- 'order' => $order,
90
- 'sent_to_admin' => $sent_to_admin,
91
- ),
92
- 'woocommerce-advanced-shipment-tracking/',
93
- wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/'
94
- );
95
- $message .= ob_get_clean();
96
- }
97
- if($wcast_show_shipping_address == 1){
98
- ob_start();
99
- wc_get_template(
100
- 'emails/wcast-shipping-email-addresses.php', array(
101
- 'order' => $order,
102
- 'sent_to_admin' => $sent_to_admin,
103
- ),
104
- 'woocommerce-advanced-shipment-tracking/',
105
- wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/'
106
- );
107
- $message .= ob_get_clean();
108
- }
109
-
110
- // create a new email
111
- $email = new WC_Email();
112
-
113
- // wrap the content with the email template and then add styles
114
- $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
115
- $headers = "Content-Type: text/html\r\n";
116
- add_filter( 'wp_mail_from', array( $this, 'get_from_address' ) );
117
- add_filter( 'wp_mail_from_name', array( $this, 'get_from_name' ) );
118
-
119
- wp_mail( $recipient, $subject, $message, $email->get_headers() );
120
  }
121
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  }
123
 
 
 
 
124
  public function shippment_status_email_trigger($order_id, $order, $old_status, $new_status){
 
125
  $status = str_replace("_","",$new_status);
126
- $status_class = 'wcast_'.$status.'_customizer_email';
127
- //echo $status_class;exit;
128
  $wcast_status_customizer_email = new $status_class();
129
- //echo $wcast_status_customizer_email->defaults['wcast_'.$status.'_email_subject'];exit;
130
  $email_subject = get_theme_mod('wcast_'.$status.'_email_subject',$wcast_status_customizer_email->defaults['wcast_'.$status.'_email_subject']);
131
  $subject = $this->email_subject($email_subject,$order_id,$order);
132
  $email_to = get_theme_mod('wcast_'.$status.'_email_to',$wcast_status_customizer_email->defaults['wcast_'.$status.'_email_to']);
133
- //$wcast_pretransit_email_subject = $wcast_pretransit_customizer_email->defaults['wcast_pretransit_email_subject'];
134
  $enable = get_theme_mod('wcast_enable_'.$status.'_email');
135
  $email_to = explode(",",$email_to);
 
136
  if($enable == 1){
137
- foreach($email_to as $email){
138
-
139
-
140
  $email_heading = get_theme_mod('wcast_'.$status.'_email_heading',$wcast_status_customizer_email->defaults['wcast_'.$status.'_email_heading']);
141
  $email_content = get_theme_mod('wcast_'.$status.'_email_content',$wcast_status_customizer_email->defaults['wcast_'.$status.'_email_content']);
142
  $wcast_show_tracking_details = get_theme_mod('wcast_'.$status.'_show_tracking_details');
@@ -158,6 +168,7 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
158
  $message = $this->append_analytics_link($email_content,$status);
159
 
160
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
 
161
  if($wcast_show_tracking_details == 1){
162
 
163
  ob_start();
@@ -166,6 +177,7 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
166
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
167
  $message .= ob_get_clean();
168
  }
 
169
  if($wcast_show_order_details == 1){
170
 
171
  ob_start();
@@ -181,6 +193,7 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
181
  );
182
  $message .= ob_get_clean();
183
  }
 
184
  if($wcast_show_billing_address == 1){
185
  ob_start();
186
  wc_get_template(
@@ -193,6 +206,7 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
193
  );
194
  $message .= ob_get_clean();
195
  }
 
196
  if($wcast_show_shipping_address == 1){
197
  ob_start();
198
  wc_get_template(
@@ -219,20 +233,21 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
219
  }
220
  }
221
  }
222
-
223
-
 
 
224
  public function delivered_shippment_status_email_trigger($order_id, $order, $old_status, $new_status){
 
225
  $wcast_delivered_customizer_email = new wcast_delivered_customizer_email();
226
  $email_subject = get_theme_mod('wcast_delivered_status_email_subject',$wcast_delivered_customizer_email->defaults['wcast_delivered_status_email_subject']);
227
  $subject = $this->email_subject($email_subject,$order_id,$order);
228
- $email_to = get_theme_mod('wcast_delivered_status_email_to',$wcast_delivered_customizer_email->defaults['wcast_delivered_status_email_to']);
229
-
230
  $enable = get_theme_mod('wcast_enable_delivered_status_email');
231
  $email_to = explode(",",$email_to);
 
232
  if($enable == 1){
233
- foreach($email_to as $email){
234
-
235
-
236
  $email_heading = get_theme_mod('wcast_delivered_status_email_heading',$wcast_delivered_customizer_email->defaults['wcast_delivered_status_email_heading']);
237
  $email_content = get_theme_mod('wcast_delivered_status_email_content',$wcast_delivered_customizer_email->defaults['wcast_delivered_status_email_content']);
238
  $wcast_show_tracking_details = get_theme_mod('wcast_delivered_status_show_tracking_details');
@@ -240,8 +255,7 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
240
  $wcast_show_billing_address = get_theme_mod('wcast_delivered_status_show_billing_address');
241
  $wcast_show_shipping_address = get_theme_mod('wcast_delivered_status_show_shipping_address');
242
  $sent_to_admin = false;
243
- $plain_text = false;
244
-
245
 
246
  $recipient = $this->email_to($email,$order,$order_id);
247
 
@@ -255,6 +269,7 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
255
  $message = $this->append_analytics_link($email_content,$status);
256
 
257
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
 
258
  if($wcast_show_tracking_details == 1){
259
 
260
  ob_start();
@@ -263,6 +278,7 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
263
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
264
  $message .= ob_get_clean();
265
  }
 
266
  if($wcast_show_order_details == 1){
267
 
268
  ob_start();
@@ -278,6 +294,7 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
278
  );
279
  $message .= ob_get_clean();
280
  }
 
281
  if($wcast_show_billing_address == 1){
282
  ob_start();
283
  wc_get_template(
@@ -290,6 +307,7 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
290
  );
291
  $message .= ob_get_clean();
292
  }
 
293
  if($wcast_show_shipping_address == 1){
294
  ob_start();
295
  wc_get_template(
@@ -317,7 +335,9 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
317
  }
318
  }
319
 
320
-
 
 
321
  public function email_subject($string,$order_id,$order){
322
  $customer_email = $order->get_billing_email();
323
  $first_name = $order->get_billing_first_name();
@@ -339,6 +359,9 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
339
  return $string;
340
  }
341
 
 
 
 
342
  public function email_heading($string,$order_id,$order){
343
  $customer_email = $order->get_billing_email();
344
  $first_name = $order->get_billing_first_name();
@@ -360,15 +383,22 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
360
  return $string;
361
  }
362
 
 
 
 
363
  public function email_to($string,$order,$order_id){
364
  $customer_email = $order->get_billing_email();
365
  return str_replace( '{customer_email}', $customer_email, $string );
366
  }
367
-
 
 
 
368
  public function email_content($email_content, $order_id, $order){
369
  $customer_email = $order->get_billing_email();
370
  $first_name = $order->get_billing_first_name();
371
  $last_name = $order->get_billing_last_name();
 
372
  $user = $order->get_user();
373
  if($user){
374
  $username = $user->user_login;
@@ -383,7 +413,14 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
383
  $email_content = str_replace( '{customer_email}', $customer_email, $email_content );
384
  $email_content = str_replace( '{site_title}', $this->get_blogname(), $email_content );
385
  $email_content = str_replace( '{customer_first_name}', $first_name, $email_content );
386
- $email_content = str_replace( '{customer_last_name}', $last_name, $email_content );
 
 
 
 
 
 
 
387
  if(isset($username)){
388
  $email_content = str_replace( '{customer_username}', $username, $email_content );
389
  } else{
@@ -397,6 +434,9 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
397
  return $email_content;
398
  }
399
 
 
 
 
400
  public function append_analytics_link($message,$status){
401
  $analytics_link = get_theme_mod('wcast_'.$status.'_analytics_link');
402
 
@@ -414,7 +454,9 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
414
  return $message;
415
  }
416
 
417
-
 
 
418
  public function get_est_delivery_date($order_id, $order){
419
  if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
420
  $tracking_items = get_post_meta( $order_id, '_wc_shipment_tracking_items', true );
@@ -440,8 +482,7 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
440
  $decoded_data = json_decode($data);
441
 
442
  if(!empty($decoded_data)){
443
- $tracker = $decoded_data[0];
444
- //echo '<pre>';print_r($tracker);echo '</pre>';
445
  if($tracker->est_delivery_date){
446
  $unixTimestamp = strtotime($tracker->est_delivery_date);
447
  //Get the day of the week using PHP's date function.
@@ -453,6 +494,7 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
453
  }
454
  return $html;
455
  }
 
456
  /**
457
  * Get blog name formatted for emails.
458
  *
@@ -461,6 +503,7 @@ class WC_Advanced_Shipment_Tracking_Email_Manager {
461
  private function get_blogname() {
462
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
463
  }
 
464
  /**
465
  * Get the from name for outgoing emails.
466
  *
15
  // hook for when order status is changed
16
  add_filter( 'woocommerce_email_classes', array( $this, 'custom_init_emails' ));
17
  }
18
+
19
+ /**
20
+ * code for include delivered email class
21
+ */
22
  public function custom_init_emails( $emails ) {
23
 
24
  // Include the email class file if it's not included already
25
  if ( ! isset( $emails[ 'WC_Email_Customer_Delivered_Order' ] ) ) {
26
  $emails[ 'WC_Email_Customer_Delivered_Order' ] = include_once( 'emails/class-shipment-delivered-email.php' );
27
+ }
28
+
29
+ if ( ! isset( $emails[ 'WC_Email_Customer_Partial_Shipped_Order' ] ) ) {
30
+ $emails[ 'WC_Email_Customer_Partial_Shipped_Order' ] = include_once( 'emails/class-shipment-partial-shipped-email.php' );
31
+ }
32
  return $emails;
33
  }
34
 
35
+ /**
36
+ * code for trigger delivered order status email
37
+ */
38
  public function delivered_order_status_email_trigger($order_id, $order){
39
+ $order_id = $order->get_id();
40
+ $wcast_customizer_settings = new wcast_initialise_customizer_email();
41
+ $email_subject = get_theme_mod('wcast_delivered_email_subject',$wcast_customizer_settings->defaults['wcast_delivered_email_subject']);
42
+ $subject = $this->email_subject($email_subject,$order_id,$order);
43
+
44
+ $email_to = get_theme_mod('wcast_delivered_email_to',$wcast_customizer_settings->defaults['wcast_delivered_email_to']);
45
+
46
+
47
+ $enable = get_theme_mod('wcast_enable_delivered_email');
48
+ if($enable == 1){
49
 
50
+ $email_to = explode(",",$email_to);
51
 
52
+ foreach($email_to as $email){
53
+ $email_heading = get_theme_mod('wcast_delivered_email_heading',$wcast_customizer_settings->defaults['wcast_delivered_email_heading']);
54
+ $email_content = get_theme_mod('wcast_delivered_email_content',$wcast_customizer_settings->defaults['wcast_delivered_email_content']);
55
+ $wcast_show_tracking_details = get_theme_mod('wcast_show_tracking_details');
56
+ $wcast_show_order_details = get_theme_mod('wcast_show_order_details');
57
+ $wcast_show_billing_address = get_theme_mod('wcast_show_billing_address');
58
+ $wcast_show_shipping_address = get_theme_mod('wcast_show_shipping_address');
59
+ $sent_to_admin = false;
60
+ $plain_text = false;
61
 
 
 
 
 
 
 
 
 
 
 
 
 
62
 
63
+ $recipient = $this->email_to($email,$order,$order_id);
64
+
65
+ $email_content = $this->email_content($email_content,$order_id, $order);
66
+
67
+ $mailer = WC()->mailer();
68
+
69
+ $email_heading = $this->email_heading($email_heading,$order_id,$order);
70
+
71
+ $message = $email_content;
72
+ $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
73
+ if($wcast_show_tracking_details == 1){
74
+ ob_start();
75
+ wc_get_template( 'emails/tracking-info.php', array(
76
+ 'tracking_items' => $wast->get_tracking_items( $order_id, true )
77
+ ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
78
+ $message .= ob_get_clean();
79
+ }
80
+ if($wcast_show_order_details == 1){
81
 
82
+ ob_start();
83
+ wc_get_template(
84
+ 'emails/wcast-email-order-details.php', array(
85
+ 'order' => $order,
86
+ 'sent_to_admin' => $sent_to_admin,
87
+ 'plain_text' => $plain_text,
88
+ 'email' => '',
89
+ ),
90
+ 'woocommerce-advanced-shipment-tracking/',
91
+ wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/'
92
+ );
93
+ $message .= ob_get_clean();
94
+ }
95
+ if($wcast_show_billing_address == 1){
96
+ ob_start();
97
+ wc_get_template(
98
+ 'emails/wcast-billing-email-addresses.php', array(
99
  'order' => $order,
100
  'sent_to_admin' => $sent_to_admin,
101
+ ),
102
+ 'woocommerce-advanced-shipment-tracking/',
103
+ wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/'
104
+ );
105
+ $message .= ob_get_clean();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  }
107
+ if($wcast_show_shipping_address == 1){
108
+ ob_start();
109
+ wc_get_template(
110
+ 'emails/wcast-shipping-email-addresses.php', array(
111
+ 'order' => $order,
112
+ 'sent_to_admin' => $sent_to_admin,
113
+ ),
114
+ 'woocommerce-advanced-shipment-tracking/',
115
+ wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/'
116
+ );
117
+ $message .= ob_get_clean();
118
+ }
119
+
120
+ // create a new email
121
+ $email = new WC_Email();
122
+
123
+ // wrap the content with the email template and then add styles
124
+ $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
125
+ $headers = "Content-Type: text/html\r\n";
126
+ add_filter( 'wp_mail_from', array( $this, 'get_from_address' ) );
127
+ add_filter( 'wp_mail_from_name', array( $this, 'get_from_name' ) );
128
+
129
+ wp_mail( $recipient, $subject, $message, $email->get_headers() );
130
+ }
131
+ }
132
  }
133
 
134
+ /**
135
+ * code for send shipment status email
136
+ */
137
  public function shippment_status_email_trigger($order_id, $order, $old_status, $new_status){
138
+
139
  $status = str_replace("_","",$new_status);
140
+ $status_class = 'wcast_'.$status.'_customizer_email';
 
141
  $wcast_status_customizer_email = new $status_class();
 
142
  $email_subject = get_theme_mod('wcast_'.$status.'_email_subject',$wcast_status_customizer_email->defaults['wcast_'.$status.'_email_subject']);
143
  $subject = $this->email_subject($email_subject,$order_id,$order);
144
  $email_to = get_theme_mod('wcast_'.$status.'_email_to',$wcast_status_customizer_email->defaults['wcast_'.$status.'_email_to']);
 
145
  $enable = get_theme_mod('wcast_enable_'.$status.'_email');
146
  $email_to = explode(",",$email_to);
147
+
148
  if($enable == 1){
149
+ foreach($email_to as $email){
 
 
150
  $email_heading = get_theme_mod('wcast_'.$status.'_email_heading',$wcast_status_customizer_email->defaults['wcast_'.$status.'_email_heading']);
151
  $email_content = get_theme_mod('wcast_'.$status.'_email_content',$wcast_status_customizer_email->defaults['wcast_'.$status.'_email_content']);
152
  $wcast_show_tracking_details = get_theme_mod('wcast_'.$status.'_show_tracking_details');
168
  $message = $this->append_analytics_link($email_content,$status);
169
 
170
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
171
+
172
  if($wcast_show_tracking_details == 1){
173
 
174
  ob_start();
177
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
178
  $message .= ob_get_clean();
179
  }
180
+
181
  if($wcast_show_order_details == 1){
182
 
183
  ob_start();
193
  );
194
  $message .= ob_get_clean();
195
  }
196
+
197
  if($wcast_show_billing_address == 1){
198
  ob_start();
199
  wc_get_template(
206
  );
207
  $message .= ob_get_clean();
208
  }
209
+
210
  if($wcast_show_shipping_address == 1){
211
  ob_start();
212
  wc_get_template(
233
  }
234
  }
235
  }
236
+
237
+ /**
238
+ * code for send delivered shipment status email
239
+ */
240
  public function delivered_shippment_status_email_trigger($order_id, $order, $old_status, $new_status){
241
+
242
  $wcast_delivered_customizer_email = new wcast_delivered_customizer_email();
243
  $email_subject = get_theme_mod('wcast_delivered_status_email_subject',$wcast_delivered_customizer_email->defaults['wcast_delivered_status_email_subject']);
244
  $subject = $this->email_subject($email_subject,$order_id,$order);
245
+ $email_to = get_theme_mod('wcast_delivered_status_email_to',$wcast_delivered_customizer_email->defaults['wcast_delivered_status_email_to']);
 
246
  $enable = get_theme_mod('wcast_enable_delivered_status_email');
247
  $email_to = explode(",",$email_to);
248
+
249
  if($enable == 1){
250
+ foreach($email_to as $email){
 
 
251
  $email_heading = get_theme_mod('wcast_delivered_status_email_heading',$wcast_delivered_customizer_email->defaults['wcast_delivered_status_email_heading']);
252
  $email_content = get_theme_mod('wcast_delivered_status_email_content',$wcast_delivered_customizer_email->defaults['wcast_delivered_status_email_content']);
253
  $wcast_show_tracking_details = get_theme_mod('wcast_delivered_status_show_tracking_details');
255
  $wcast_show_billing_address = get_theme_mod('wcast_delivered_status_show_billing_address');
256
  $wcast_show_shipping_address = get_theme_mod('wcast_delivered_status_show_shipping_address');
257
  $sent_to_admin = false;
258
+ $plain_text = false;
 
259
 
260
  $recipient = $this->email_to($email,$order,$order_id);
261
 
269
  $message = $this->append_analytics_link($email_content,$status);
270
 
271
  $wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
272
+
273
  if($wcast_show_tracking_details == 1){
274
 
275
  ob_start();
278
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
279
  $message .= ob_get_clean();
280
  }
281
+
282
  if($wcast_show_order_details == 1){
283
 
284
  ob_start();
294
  );
295
  $message .= ob_get_clean();
296
  }
297
+
298
  if($wcast_show_billing_address == 1){
299
  ob_start();
300
  wc_get_template(
307
  );
308
  $message .= ob_get_clean();
309
  }
310
+
311
  if($wcast_show_shipping_address == 1){
312
  ob_start();
313
  wc_get_template(
335
  }
336
  }
337
 
338
+ /**
339
+ * code for format email subject
340
+ */
341
  public function email_subject($string,$order_id,$order){
342
  $customer_email = $order->get_billing_email();
343
  $first_name = $order->get_billing_first_name();
359
  return $string;
360
  }
361
 
362
+ /**
363
+ * code for format email heading
364
+ */
365
  public function email_heading($string,$order_id,$order){
366
  $customer_email = $order->get_billing_email();
367
  $first_name = $order->get_billing_first_name();
383
  return $string;
384
  }
385
 
386
+ /**
387
+ * code for format recipients
388
+ */
389
  public function email_to($string,$order,$order_id){
390
  $customer_email = $order->get_billing_email();
391
  return str_replace( '{customer_email}', $customer_email, $string );
392
  }
393
+
394
+ /**
395
+ * code for format email content
396
+ */
397
  public function email_content($email_content, $order_id, $order){
398
  $customer_email = $order->get_billing_email();
399
  $first_name = $order->get_billing_first_name();
400
  $last_name = $order->get_billing_last_name();
401
+ $company_name = $order->get_billing_company();
402
  $user = $order->get_user();
403
  if($user){
404
  $username = $user->user_login;
413
  $email_content = str_replace( '{customer_email}', $customer_email, $email_content );
414
  $email_content = str_replace( '{site_title}', $this->get_blogname(), $email_content );
415
  $email_content = str_replace( '{customer_first_name}', $first_name, $email_content );
416
+ $email_content = str_replace( '{customer_last_name}', $last_name, $email_content );
417
+
418
+ if(isset($company_name)){
419
+ $email_content = str_replace( '{customer_company_name}', $company_name, $email_content );
420
+ } else{
421
+ $email_content = str_replace( '{customer_company_name}','', $email_content );
422
+ }
423
+
424
  if(isset($username)){
425
  $email_content = str_replace( '{customer_username}', $username, $email_content );
426
  } else{
434
  return $email_content;
435
  }
436
 
437
+ /**
438
+ * code for append analytics link
439
+ */
440
  public function append_analytics_link($message,$status){
441
  $analytics_link = get_theme_mod('wcast_'.$status.'_analytics_link');
442
 
454
  return $message;
455
  }
456
 
457
+ /**
458
+ * code for get estimate delivery date
459
+ */
460
  public function get_est_delivery_date($order_id, $order){
461
  if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
462
  $tracking_items = get_post_meta( $order_id, '_wc_shipment_tracking_items', true );
482
  $decoded_data = json_decode($data);
483
 
484
  if(!empty($decoded_data)){
485
+ $tracker = $decoded_data[0];
 
486
  if($tracker->est_delivery_date){
487
  $unixTimestamp = strtotime($tracker->est_delivery_date);
488
  //Get the day of the week using PHP's date function.
494
  }
495
  return $html;
496
  }
497
+
498
  /**
499
  * Get blog name formatted for emails.
500
  *
503
  private function get_blogname() {
504
  return wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
505
  }
506
+
507
  /**
508
  * Get the from name for outgoing emails.
509
  *
includes/emails/class-shipment-delivered-email.php CHANGED
@@ -44,6 +44,7 @@ if ( ! class_exists( 'WC_Email_Customer_Delivered_Order', false ) ) :
44
  // Call parent constructor.
45
  parent::__construct();
46
  }
 
47
  /**
48
  * Get valid recipients.
49
  *
@@ -55,6 +56,7 @@ if ( ! class_exists( 'WC_Email_Customer_Delivered_Order', false ) ) :
55
  $recipients = array_map( 'trim', explode( ',', $recipient ) );
56
  return implode( ', ', $recipients );
57
  }
 
58
  /**
59
  * Trigger the sending of this email.
60
  *
@@ -73,8 +75,8 @@ if ( ! class_exists( 'WC_Email_Customer_Delivered_Order', false ) ) :
73
  $this->object = $order;
74
  $this->placeholders['{order_date}'] = wc_format_datetime( $this->object->get_date_created() );
75
  $this->placeholders['{order_number}'] = $this->object->get_order_number();
76
- }
77
-
78
  if ( $this->is_enabled() && $this->get_delivered_recipient() ) {
79
  $this->send( $this->get_delivered_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
80
  }
@@ -99,7 +101,7 @@ if ( ! class_exists( 'WC_Email_Customer_Delivered_Order', false ) ) :
99
  * @return string
100
  */
101
  public function get_default_heading() {
102
- return __( 'Thanks for shopping with us', 'woo-advanced-shipment-tracking' );
103
  }
104
 
105
  /**
@@ -160,8 +162,8 @@ if ( ! class_exists( 'WC_Email_Customer_Delivered_Order', false ) ) :
160
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
161
  $message .= ob_get_clean();
162
  }
163
- if($wcast_show_order_details == 1){
164
-
165
  ob_start();
166
  wc_get_template(
167
  'emails/wcast-email-order-details.php', array(
@@ -175,6 +177,7 @@ if ( ! class_exists( 'WC_Email_Customer_Delivered_Order', false ) ) :
175
  );
176
  $message .= ob_get_clean();
177
  }
 
178
  if($wcast_show_billing_address == 1){
179
  ob_start();
180
  wc_get_template(
@@ -187,6 +190,7 @@ if ( ! class_exists( 'WC_Email_Customer_Delivered_Order', false ) ) :
187
  );
188
  $message .= ob_get_clean();
189
  }
 
190
  if($wcast_show_shipping_address == 1){
191
  ob_start();
192
  wc_get_template(
@@ -199,15 +203,21 @@ if ( ! class_exists( 'WC_Email_Customer_Delivered_Order', false ) ) :
199
  );
200
  $message .= ob_get_clean();
201
  }
 
202
  // create a new email
203
  $email = new WC_Email();
204
  $email->id = 'WC_Delivered_email';
 
205
  // wrap the content with the email template and then add styles
206
  $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
 
207
  return $message;
208
  }
209
  }
210
-
 
 
 
211
  public function _appendCampaignToString($match){
212
  $url = $match[2];
213
  if (strpos($url, '?') === false) {
@@ -220,53 +230,53 @@ if ( ! class_exists( 'WC_Email_Customer_Delivered_Order', false ) ) :
220
  /**
221
  * Initialise settings form fields.
222
  */
223
- public function init_form_fields() {
224
  $this->form_fields = array(
225
  'enabled' => array(
226
- 'title' => __( 'Enable/Disable', 'woo-advanced-shipment-tracking' ),
227
  'type' => 'checkbox',
228
- 'label' => __( 'Enable this email notification', 'woo-advanced-shipment-tracking' ),
229
  'default' => 'yes',
230
  ),
231
  'recipient' => array(
232
- 'title' => __( 'Recipient(s)', 'woo-advanced-shipment-tracking' ),
233
  'type' => 'text',
234
  /* translators: %s: WP admin email */
235
- 'description' => sprintf( __( 'Enter recipients (comma separated) for this email. Defaults to %s.', 'woo-advanced-shipment-tracking' ), '<code>' . esc_attr( get_option( 'admin_email' ) ) . '</code>' ),
236
  'placeholder' => '',
237
  'default' => '{customer_email}',
238
  'desc_tip' => true,
239
  ),
240
  'subject' => array(
241
- 'title' => __( 'Subject', 'woo-advanced-shipment-tracking' ),
242
  'type' => 'text',
243
  'desc_tip' => true,
244
  /* translators: %s: list of placeholders */
245
- 'description' => sprintf( __( 'Available placeholders: %s', 'woo-advanced-shipment-tracking' ), '<code>{site_title}, {order_date}, {order_number}</code>' ),
246
  'placeholder' => $this->get_default_subject(),
247
  'default' => '',
248
  ),
249
  'heading' => array(
250
- 'title' => __( 'Email heading', 'woo-advanced-shipment-tracking' ),
251
  'type' => 'text',
252
  'desc_tip' => true,
253
  /* translators: %s: list of placeholders */
254
- 'description' => sprintf( __( 'Available placeholders: %s', 'woo-advanced-shipment-tracking' ), '<code>{site_title}, {order_date}, {order_number}</code>' ),
255
  'placeholder' => $this->get_default_heading(),
256
  'default' => '',
257
  ),
258
  'email_type' => array(
259
- 'title' => __( 'Email type', 'woo-advanced-shipment-tracking' ),
260
  'type' => 'select',
261
- 'description' => __( 'Choose which format of email to send.', 'woo-advanced-shipment-tracking' ),
262
  'default' => 'html',
263
  'class' => 'email_type wc-enhanced-select',
264
  'options' => $this->get_email_type_options(),
265
  'desc_tip' => true,
266
  ),
267
- 'display_premium_options1' => array(
268
  'type' => 'title',
269
- 'description' => __( '<a href="'.wcast_initialise_customizer_email::get_customizer_url('customer_delivered_email').'" >Click Here</a>', 'woo-advanced-shipment-tracking' ),
270
  'title' => __( 'Edit in customizer', 'woo-advanced-shipment-tracking' ),
271
  ),
272
  );
@@ -275,4 +285,4 @@ if ( ! class_exists( 'WC_Email_Customer_Delivered_Order', false ) ) :
275
 
276
  endif;
277
 
278
- return new WC_Email_Customer_Delivered_Order();
44
  // Call parent constructor.
45
  parent::__construct();
46
  }
47
+
48
  /**
49
  * Get valid recipients.
50
  *
56
  $recipients = array_map( 'trim', explode( ',', $recipient ) );
57
  return implode( ', ', $recipients );
58
  }
59
+
60
  /**
61
  * Trigger the sending of this email.
62
  *
75
  $this->object = $order;
76
  $this->placeholders['{order_date}'] = wc_format_datetime( $this->object->get_date_created() );
77
  $this->placeholders['{order_number}'] = $this->object->get_order_number();
78
+ }
79
+
80
  if ( $this->is_enabled() && $this->get_delivered_recipient() ) {
81
  $this->send( $this->get_delivered_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
82
  }
101
  * @return string
102
  */
103
  public function get_default_heading() {
104
+ return __( 'Thanks for shopping with us', 'woocommerce' );
105
  }
106
 
107
  /**
162
  ), 'woocommerce-advanced-shipment-tracking/', wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/' );
163
  $message .= ob_get_clean();
164
  }
165
+
166
+ if($wcast_show_order_details == 1){
167
  ob_start();
168
  wc_get_template(
169
  'emails/wcast-email-order-details.php', array(
177
  );
178
  $message .= ob_get_clean();
179
  }
180
+
181
  if($wcast_show_billing_address == 1){
182
  ob_start();
183
  wc_get_template(
190
  );
191
  $message .= ob_get_clean();
192
  }
193
+
194
  if($wcast_show_shipping_address == 1){
195
  ob_start();
196
  wc_get_template(
203
  );
204
  $message .= ob_get_clean();
205
  }
206
+
207
  // create a new email
208
  $email = new WC_Email();
209
  $email->id = 'WC_Delivered_email';
210
+
211
  // wrap the content with the email template and then add styles
212
  $message = apply_filters( 'woocommerce_mail_content', $email->style_inline( $mailer->wrap_message( $email_heading, $message ) ) );
213
+
214
  return $message;
215
  }
216
  }
217
+
218
+ /**
219
+ * code for append analytics link into rl inside email content.
220
+ */
221
  public function _appendCampaignToString($match){
222
  $url = $match[2];
223
  if (strpos($url, '?') === false) {
230
  /**
231
  * Initialise settings form fields.
232
  */
233
+ public function init_form_fields() {
234
  $this->form_fields = array(
235
  'enabled' => array(
236
+ 'title' => __( 'Enable/Disable', 'woocommerce' ),
237
  'type' => 'checkbox',
238
+ 'label' => __( 'Enable this email notification', 'woocommerce' ),
239
  'default' => 'yes',
240
  ),
241
  'recipient' => array(
242
+ 'title' => __( 'Recipient(s)', 'woocommerce' ),
243
  'type' => 'text',
244
  /* translators: %s: WP admin email */
245
+ 'description' => sprintf( __( 'Enter recipients (comma separated) for this email. Defaults to %s.', 'woocommerce' ), '<code>' . esc_attr( get_option( 'admin_email' ) ) . '</code>' ),
246
  'placeholder' => '',
247
  'default' => '{customer_email}',
248
  'desc_tip' => true,
249
  ),
250
  'subject' => array(
251
+ 'title' => __( 'Subject', 'woocommerce' ),
252
  'type' => 'text',
253
  'desc_tip' => true,
254
  /* translators: %s: list of placeholders */
255
+ 'description' => sprintf( __( 'Available placeholders: %s', 'woocommerce' ), '<code>{site_title}, {order_date}, {order_number}</code>' ),
256
  'placeholder' => $this->get_default_subject(),
257
  'default' => '',
258
  ),
259
  'heading' => array(
260
+ 'title' => __( 'Email heading', 'woocommerce' ),
261
  'type' => 'text',
262
  'desc_tip' => true,
263
  /* translators: %s: list of placeholders */
264
+ 'description' => sprintf( __( 'Available placeholders: %s', 'woocommerce' ), '<code>{site_title}, {order_date}, {order_number}</code>' ),
265
  'placeholder' => $this->get_default_heading(),
266
  'default' => '',
267
  ),
268
  'email_type' => array(
269
+ 'title' => __( 'Email type', 'woocommerce' ),
270
  'type' => 'select',
271
+ 'description' => __( 'Choose which format of email to send.', 'woocommerce' ),
272
  'default' => 'html',
273
  'class' => 'email_type wc-enhanced-select',
274
  'options' => $this->get_email_type_options(),
275
  'desc_tip' => true,
276
  ),
277
+ 'edit_in_customizer' => array(
278
  'type' => 'title',
279
+ 'description' => '<a href="'.wcast_initialise_customizer_email::get_customizer_url('customer_delivered_email').'" >'.__( 'Click Here', 'woo-advanced-shipment-tracking' ).'</a>',
280
  'title' => __( 'Edit in customizer', 'woo-advanced-shipment-tracking' ),
281
  ),
282
  );
285
 
286
  endif;
287
 
288
+ return new WC_Email_Customer_Delivered_Order();
includes/emails/class-shipment-partial-shipped-email.php ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class WC_Email_Customer_Partial_Shipped_Order file.
4
+ *
5
+ * @package WooCommerce\Emails
6
+ */
7
+
8
+ if ( ! defined( 'ABSPATH' ) ) {
9
+ exit; // Exit if accessed directly.
10
+ }
11
+
12
+ if ( ! class_exists( 'WC_Email_Customer_Partial_Shipped_Order', false ) ) :
13
+
14
+ /**
15
+ * Customer Completed Order Email.
16
+ *
17
+ * Order complete emails are sent to the customer when the order is marked complete and usual indicates that the order has been shipped.
18
+ *
19
+ * @class WC_Email_Customer_Partial_Shipped_Order
20
+ * @version 2.0.0
21
+ * @package WooCommerce/Classes/Emails
22
+ * @extends WC_Email
23
+ */
24
+ class WC_Email_Customer_Partial_Shipped_Order extends WC_Email {
25
+
26
+ /**
27
+ * Constructor.
28
+ */
29
+ public function __construct() {
30
+ $this->id = 'customer_partial_shipped_order';
31
+ $this->customer_email = true;
32
+ $this->title = __( 'Partial Shipped order', 'woocommerce' );
33
+ $this->description = __( 'Order partial shipped emails are sent to customers when their orders are marked partial shipped and usually indicate that their orders have been partial shipped.', 'woocommerce' );
34
+ $this->template_html = 'emails/customer-partial-shipped-order.php';
35
+ $this->template_plain = 'emails/plain/customer-completed-order.php';
36
+ $this->placeholders = array(
37
+ '{order_date}' => '',
38
+ '{order_number}' => '',
39
+ );
40
+ $this->template_base = AST_TEMPLATE_PATH;
41
+ // Triggers for this email.
42
+ //add_action( 'woocommerce_order_status_completed_notification', array( $this, 'trigger' ), 10, 2 );
43
+
44
+ // Call parent constructor.
45
+ parent::__construct();
46
+ }
47
+
48
+ /**
49
+ * Trigger the sending of this email.
50
+ *
51
+ * @param int $order_id The order ID.
52
+ * @param WC_Order|false $order Order object.
53
+ */
54
+ public function trigger( $order_id, $order = false ) {
55
+ $this->setup_locale();
56
+
57
+ if ( $order_id && ! is_a( $order, 'WC_Order' ) ) {
58
+ $order = wc_get_order( $order_id );
59
+ }
60
+
61
+ if ( is_a( $order, 'WC_Order' ) ) {
62
+ $this->object = $order;
63
+ $this->recipient = $this->object->get_billing_email();
64
+ $this->placeholders['{order_date}'] = wc_format_datetime( $this->object->get_date_created() );
65
+ $this->placeholders['{order_number}'] = $this->object->get_order_number();
66
+ }
67
+
68
+ if ( $this->is_enabled() && $this->get_recipient() ) {
69
+ $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
70
+ }
71
+
72
+ $this->restore_locale();
73
+ }
74
+
75
+ /**
76
+ * Get email subject.
77
+ *
78
+ * @since 3.1.0
79
+ * @return string
80
+ */
81
+ public function get_default_subject() {
82
+ return __( 'Your {site_title} order is now partially shipped', 'woocommerce' );
83
+ }
84
+
85
+ /**
86
+ * Get email heading.
87
+ *
88
+ * @since 3.1.0
89
+ * @return string
90
+ */
91
+ public function get_default_heading() {
92
+ return __( 'Thanks for shopping with us', 'woocommerce' );
93
+ }
94
+
95
+ /**
96
+ * Get content html.
97
+ *
98
+ * @return string
99
+ */
100
+ public function get_content_html() {
101
+ $template = $this->get_template( 'template_html' );
102
+ $local_file = $this->get_theme_template_file( $template );
103
+ if ( file_exists( $local_file ) && is_writable( $local_file )){
104
+ //echo $local_file;exit;
105
+ return wc_get_template_html(
106
+ $this->template_html,
107
+ array(
108
+ 'order' => $this->object,
109
+ 'email_heading' => $this->get_heading(),
110
+ 'additional_content' => $this->get_additional_content(),
111
+ 'sent_to_admin' => false,
112
+ 'plain_text' => false,
113
+ 'email' => $this,
114
+ )
115
+ );
116
+ } else{
117
+ return wc_get_template_html(
118
+ 'emails/customer-partial-shipped-order.php',
119
+ array(
120
+ 'order' => $this->object,
121
+ 'email_heading' => $this->get_heading(),
122
+ 'additional_content' => $this->get_additional_content(),
123
+ 'sent_to_admin' => false,
124
+ 'plain_text' => false,
125
+ 'email' => $this,
126
+ ),
127
+ 'woocommerce-advanced-shipment-tracking/',
128
+ wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/'
129
+ );
130
+ }
131
+ }
132
+
133
+ /**
134
+ * Get content plain.
135
+ *
136
+ * @return string
137
+ */
138
+ public function get_content_plain() {
139
+ $template = $this->get_template( 'template_html' );
140
+ $local_file = $this->get_theme_template_file( $template );
141
+ if ( file_exists( $local_file ) && is_writable( $local_file )){
142
+ //echo $local_file;exit;
143
+ return wc_get_template_html(
144
+ $this->template_html,
145
+ array(
146
+ 'order' => $this->object,
147
+ 'email_heading' => $this->get_heading(),
148
+ 'additional_content' => $this->get_additional_content(),
149
+ 'sent_to_admin' => false,
150
+ 'plain_text' => false,
151
+ 'email' => $this,
152
+ )
153
+ );
154
+ } else{
155
+ return wc_get_template_html(
156
+ 'emails/customer-partial-shipped-order.php',
157
+ array(
158
+ 'order' => $this->object,
159
+ 'email_heading' => $this->get_heading(),
160
+ 'additional_content' => $this->get_additional_content(),
161
+ 'sent_to_admin' => false,
162
+ 'plain_text' => false,
163
+ 'email' => $this,
164
+ ),
165
+ 'woocommerce-advanced-shipment-tracking/',
166
+ wc_advanced_shipment_tracking()->get_plugin_path() . '/templates/'
167
+ );
168
+ }
169
+ }
170
+
171
+ /**
172
+ * Default content to show below main email content.
173
+ *
174
+ * @since 3.7.0
175
+ * @return string
176
+ */
177
+ public function get_default_additional_content() {
178
+ return __( 'Thanks for shopping with us.', 'woocommerce' );
179
+ }
180
+ }
181
+
182
+ endif;
183
+
184
+ return new WC_Email_Customer_Partial_Shipped_Order();
includes/views/admin_options_bulk_upload.php CHANGED
@@ -1,3 +1,8 @@
 
 
 
 
 
1
  <section id="content4" class="tab_section">
2
  <div class="tab_inner_container">
3
  <form method="post" id="wc_ast_upload_csv_form" action="" enctype="multipart/form-data">
@@ -21,7 +26,7 @@
21
  <tr valign="top" class="">
22
  <th scope="row" colspan="2">
23
  <div class="submit">
24
- <button name="save" class="button-primary woocommerce-upload-csv-save-button btn_ast2 btn_large" type="submit" value="Save"><?php _e('Upload', 'woo-advanced-shipment-tracking'); ?></button>
25
  <div class="spinner" style="float:none"></div>
26
  <div class="success_msg" style="display:none;"><?php _e('Settings Saved.', 'woo-advanced-shipment-tracking'); ?></div>
27
  <div class="error_msg" style="display:none;"></div>
@@ -44,13 +49,13 @@
44
  <td>
45
  <p><?php _e('You can download an example of the csv file:', 'woo-advanced-shipment-tracking'); ?></p>
46
  </td>
47
- <td>
48
  <a class="button-primary btn_ast2 btn_large" href="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>/assets/tracking.csv"><?php _e('Download sample csv file', 'woo-advanced-shipment-tracking'); ?></a>
49
  </td>
50
  </tr>
51
  <tr valign="top">
52
  <td style="padding-top: 0;" colspan="2">
53
- <p><?php _e('For detailed instructions on how to upload tracking info in bulk, see our', 'woo-advanced-shipment-tracking'); ?> <a class="" href="https://www.zorem.com/docs/woocommerce-advanced-shipment-tracking/bulk-import-shipment-tracking/" target="blank"><?php _e('documentation', 'woo-advanced-shipment-tracking'); ?></a>.</p>
54
  </td>
55
  </tr>
56
  </tbody>
1
+ <?php
2
+ /**
3
+ * html code for bulk upload tab
4
+ */
5
+ ?>
6
  <section id="content4" class="tab_section">
7
  <div class="tab_inner_container">
8
  <form method="post" id="wc_ast_upload_csv_form" action="" enctype="multipart/form-data">
26
  <tr valign="top" class="">
27
  <th scope="row" colspan="2">
28
  <div class="submit">
29
+ <button name="save" class="button-primary btn_ast2 btn_large" type="submit" value="Save"><?php _e('Upload', 'woo-advanced-shipment-tracking'); ?></button>
30
  <div class="spinner" style="float:none"></div>
31
  <div class="success_msg" style="display:none;"><?php _e('Settings Saved.', 'woo-advanced-shipment-tracking'); ?></div>
32
  <div class="error_msg" style="display:none;"></div>
49
  <td>
50
  <p><?php _e('You can download an example of the csv file:', 'woo-advanced-shipment-tracking'); ?></p>
51
  </td>
52
+ <td style="text-align:right;">
53
  <a class="button-primary btn_ast2 btn_large" href="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>/assets/tracking.csv"><?php _e('Download sample csv file', 'woo-advanced-shipment-tracking'); ?></a>
54
  </td>
55
  </tr>
56
  <tr valign="top">
57
  <td style="padding-top: 0;" colspan="2">
58
+ <p><?php _e('For detailed instructions on how to upload tracking info in bulk, see our', 'woo-advanced-shipment-tracking'); ?> <a class="" href="https://www.zorem.com/docs/woocommerce-advanced-shipment-tracking/bulk-import-shipment-tracking/" target="blank"><?php _e('Documentation', 'woo-advanced-shipment-tracking'); ?></a>.</p>
59
  </td>
60
  </tr>
61
  </tbody>
includes/views/admin_options_settings.php CHANGED
@@ -1,4 +1,9 @@
1
- <section id="content2" class="tab_section">
 
 
 
 
 
2
  <div class="tab_inner_container">
3
  <form method="post" id="wc_ast_settings_form" action="" enctype="multipart/form-data">
4
  <?php #nonce?>
@@ -43,7 +48,7 @@
43
  <td>
44
  <p style=""><?php _e( 'You can customize the tracking info display on emails and my account', 'woo-advanced-shipment-tracking' ); ?></p>
45
  </td>
46
- <td>
47
  <a href="<?php echo wcast_initialise_customizer_settings::get_customizer_url('default_controls_section','settings') ?>" class="button-primary btn_ast2 btn_large"><?php _e( 'Launch Customizer', 'woo-advanced-shipment-tracking' ); ?> <span class="dashicons dashicons-welcome-view-site"></span></a>
48
  </td>
49
  </tr>
@@ -74,8 +79,34 @@
74
  </td>
75
  </tr>
76
  </tbody>
77
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  </form>
79
  </div>
80
  <?php include 'zorem_admin_sidebar.php';?>
81
- </section>
1
+ <?php
2
+ /**
3
+ * html code for settings tab
4
+ */
5
+ ?>
6
+ <section id="content2" class="tab_section">
7
  <div class="tab_inner_container">
8
  <form method="post" id="wc_ast_settings_form" action="" enctype="multipart/form-data">
9
  <?php #nonce?>
48
  <td>
49
  <p style=""><?php _e( 'You can customize the tracking info display on emails and my account', 'woo-advanced-shipment-tracking' ); ?></p>
50
  </td>
51
+ <td style="text-align:right;">
52
  <a href="<?php echo wcast_initialise_customizer_settings::get_customizer_url('default_controls_section','settings') ?>" class="button-primary btn_ast2 btn_large"><?php _e( 'Launch Customizer', 'woo-advanced-shipment-tracking' ); ?> <span class="dashicons dashicons-welcome-view-site"></span></a>
53
  </td>
54
  </tr>
79
  </td>
80
  </tr>
81
  </tbody>
82
+ </table>
83
+
84
+ <table class="form-table heading-table">
85
+ <tbody>
86
+ <tr valign="top">
87
+ <td>
88
+ <h3 style=""><?php _e( 'Partial Shipped Order Status', 'woo-advanced-shipment-tracking' ); ?></h3>
89
+ </td>
90
+ </tr>
91
+ </tbody>
92
+ </table>
93
+ <?php $this->get_html( $this->get_partial_shipped_data() );?>
94
+ <p class="description-below-table"><?php echo sprintf(__('<strong>PLEASE NOTE</strong> - If you use the custom order status "Partial Shipped", when you deactivate the plugin, you must register this order status in function.php in order to see these orders in the orders admin. You can find the <a href="%s" target="blank">snippet</a> to use in functions.php here or you can manually change all your "partial-shipped" order to "completed" before deactivating the plugin.', 'woo-advanced-shipment-tracking'), 'https://gist.github.com/zorem/acc273dccad16095836b8aab058dbe93'); ?></p>
95
+ <table class="form-table">
96
+ <tbody>
97
+ <tr valign="top">
98
+ <td class="button-column">
99
+ <div class="submit">
100
+ <button name="save" class="button-primary woocommerce-save-button btn_ast2 btn_large" type="submit" value="Save changes"><?php _e( 'Save Changes', 'woo-advanced-shipment-tracking' ); ?></button>
101
+ <div class="spinner"></div>
102
+ <?php wp_nonce_field( 'wc_ast_settings_form', 'wc_ast_settings_form' );?>
103
+ <input type="hidden" name="action" value="wc_ast_settings_form_update">
104
+ </div>
105
+ </td>
106
+ </tr>
107
+ </tbody>
108
+ </table>
109
  </form>
110
  </div>
111
  <?php include 'zorem_admin_sidebar.php';?>
112
+ </section>
includes/views/admin_options_shipping_provider.php CHANGED
@@ -1,25 +1,30 @@
 
 
 
 
 
1
  <?php $wc_ast_api_key = get_option('wc_ast_api_key'); ?>
2
  <section id="content1" class="tab_section">
3
  <div class="d_table" style="">
4
  <div class="tab_inner_container">
5
  <div class="provider_top">
6
  <div class="status_filter">
7
- <a href="javaScript:void(0);" data-status="active" class="active">Active</a>
8
- <a href="javaScript:void(0);" data-status="inactive">Inactive</a>
9
- <a href="javaScript:void(0);" data-status="custom">Custom</a>
10
- <a href="javaScript:void(0);" data-status="all">All</a>
11
  </div>
12
  <div class="provider_settings dropdown">
13
  <span class="dashicons dashicons-admin-generic dropdown_menu"></span>
14
  </div>
15
  <ul class="dropdown-content">
16
- <li><a href="javaScript:void(0);" class="add_custom_provider" id="add-custom">Add Custom Provider</a></li>
17
- <li><a href="javaScript:void(0);" class="sync_providers">Sync Provider List</a></li>
18
- <li>Reset <a href="javaScript:void(0);" class="reset_active">active</a> | <a href="javaScript:void(0);" class="reset_inactive">inactive</a></li>
19
  </ul>
20
  <div class="search_section">
21
  <span class="dashicons dashicons-search search-icon"></span>
22
- <input class="provider_search_bar " type="text" name="search_provider" id="search_provider" placeholder="Search by provider / country">
23
  </div>
24
  </div>
25
  <div class="provider_list">
@@ -100,7 +105,7 @@
100
  </div>
101
  <div>
102
  <select class="select wcast_shipping_country" name="shipping_country" id="shipping_country">
103
- <option value=""><?php _e( 'Shiping Country', 'woo-advanced-shipment-tracking' ); ?></option>
104
  <option value="Global"><?php _e( 'Global', 'woo-advanced-shipment-tracking' ); ?></option>
105
  <?php
106
  foreach($countries as $key=>$val){ ?>
@@ -134,7 +139,7 @@
134
  </div>
135
  <div>
136
  <select class="select wcast_shipping_country" name="shipping_country" id="shipping_country">
137
- <option value=""><?php _e( 'Shiping Country', 'woo-advanced-shipment-tracking' ); ?></option>
138
  <option value="Global"><?php _e( 'Global', 'woo-advanced-shipment-tracking' ); ?></option>
139
  <?php
140
  foreach($countries as $key=>$val){ ?>
@@ -162,15 +167,15 @@
162
 
163
  <div id="" class="popupwrapper sync_provider_popup" style="display:none;">
164
  <div class="popuprow">
165
- <h3 class="popup_title"><?php _e( 'Sync Providers', 'woo-advanced-shipment-tracking'); ?></h2>
166
- <p class="sync_message"><?php _e( 'Do you really want to sync all providers?', 'woo-advanced-shipment-tracking'); ?></p>
167
  <ul class="synch_result">
168
  <li class="providers_added"><?php _e( 'Providers Added', 'woo-advanced-shipment-tracking'); ?> - <span></span></li>
169
  <li class="providers_updated"><?php _e( 'Providers Updated', 'woo-advanced-shipment-tracking'); ?> - <span></span></li>
170
  <li class="providers_deleted"><?php _e( 'Providers Deleted', 'woo-advanced-shipment-tracking'); ?> - <span></span></li>
171
  </ul>
172
- <button class="sync_providers_btn button-primary btn_ast2 btn_large"><?php _e( 'Sync Providers', 'woo-advanced-shipment-tracking'); ?></button>
173
- <button class="close_synch_popup button-primary btn_ast2 btn_large"><?php _e( 'Close', 'woo-advanced-shipment-tracking'); ?></button>
174
  <div class="spinner" style=""></div>
175
  </div>
176
  <div class="popupclose"></div>
1
+ <?php
2
+ /**
3
+ * html code for shipping providers tab
4
+ */
5
+ ?>
6
  <?php $wc_ast_api_key = get_option('wc_ast_api_key'); ?>
7
  <section id="content1" class="tab_section">
8
  <div class="d_table" style="">
9
  <div class="tab_inner_container">
10
  <div class="provider_top">
11
  <div class="status_filter">
12
+ <a href="javaScript:void(0);" data-status="active" class="active"><?php _e( 'Active', 'woo-advanced-shipment-tracking'); ?></a>
13
+ <a href="javaScript:void(0);" data-status="inactive"><?php _e( 'Inactive', 'woo-advanced-shipment-tracking'); ?></a>
14
+ <a href="javaScript:void(0);" data-status="custom"><?php _e( 'Custom', 'woo-advanced-shipment-tracking'); ?></a>
15
+ <a href="javaScript:void(0);" data-status="all"><?php _e( 'All', 'woocommerce'); ?></a>
16
  </div>
17
  <div class="provider_settings dropdown">
18
  <span class="dashicons dashicons-admin-generic dropdown_menu"></span>
19
  </div>
20
  <ul class="dropdown-content">
21
+ <li><a href="javaScript:void(0);" class="add_custom_provider" id="add-custom"><?php _e( 'Add Custom Provider', 'woo-advanced-shipment-tracking'); ?></a></li>
22
+ <li><a href="javaScript:void(0);" class="sync_providers"><?php _e( 'Sync Shipping Providers', 'woo-advanced-shipment-tracking'); ?></a></a></li>
23
+ <li><?php _e( 'Reset', 'woo-advanced-shipment-tracking'); ?> <a href="javaScript:void(0);" class="reset_active"><?php _e( 'Active', 'woo-advanced-shipment-tracking'); ?></a> | <a href="javaScript:void(0);" class="reset_inactive"><?php _e( 'Inactive', 'woo-advanced-shipment-tracking'); ?></a></li>
24
  </ul>
25
  <div class="search_section">
26
  <span class="dashicons dashicons-search search-icon"></span>
27
+ <input class="provider_search_bar " type="text" name="search_provider" id="search_provider" placeholder="<?php _e( 'Search by provider / country', 'woo-advanced-shipment-tracking'); ?>">
28
  </div>
29
  </div>
30
  <div class="provider_list">
105
  </div>
106
  <div>
107
  <select class="select wcast_shipping_country" name="shipping_country" id="shipping_country">
108
+ <option value=""><?php _e( 'Shipping Country', 'woo-advanced-shipment-tracking' ); ?></option>
109
  <option value="Global"><?php _e( 'Global', 'woo-advanced-shipment-tracking' ); ?></option>
110
  <?php
111
  foreach($countries as $key=>$val){ ?>
139
  </div>
140
  <div>
141
  <select class="select wcast_shipping_country" name="shipping_country" id="shipping_country">
142
+ <option value=""><?php _e( 'Shipping Country', 'woo-advanced-shipment-tracking' ); ?></option>
143
  <option value="Global"><?php _e( 'Global', 'woo-advanced-shipment-tracking' ); ?></option>
144
  <?php
145
  foreach($countries as $key=>$val){ ?>
167
 
168
  <div id="" class="popupwrapper sync_provider_popup" style="display:none;">
169
  <div class="popuprow">
170
+ <h3 class="popup_title"><?php _e( 'Sync Shipping Providers', 'woo-advanced-shipment-tracking'); ?></h2>
171
+ <p class="sync_message"><?php _e( 'Syncing the shipping providers list add or updates the pre-set shipping providers and will not effect custom shipping providers.', 'woo-advanced-shipment-tracking'); ?></p>
172
  <ul class="synch_result">
173
  <li class="providers_added"><?php _e( 'Providers Added', 'woo-advanced-shipment-tracking'); ?> - <span></span></li>
174
  <li class="providers_updated"><?php _e( 'Providers Updated', 'woo-advanced-shipment-tracking'); ?> - <span></span></li>
175
  <li class="providers_deleted"><?php _e( 'Providers Deleted', 'woo-advanced-shipment-tracking'); ?> - <span></span></li>
176
  </ul>
177
+ <button class="sync_providers_btn button-primary btn_ast2 btn_large"><?php _e( 'Sync Shipping Providers', 'woo-advanced-shipment-tracking'); ?></button>
178
+ <button class="close_synch_popup button-primary btn_ast2 btn_large"><?php _e( 'Close', 'woocommerce'); ?></button>
179
  <div class="spinner" style=""></div>
180
  </div>
181
  <div class="popupclose"></div>
includes/views/admin_options_tools.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * html code for tools tab
4
+ */
5
+
6
+ ?>
7
+ <section id="content5" class="tab_section">
8
+ <div class="d_table" style="">
9
+ <div class="tab_inner_container">
10
+ <table class="form-table heading-table">
11
+ <tbody>
12
+ <tr valign="top">
13
+ <td>
14
+ <h3 style=""><?php _e( 'Get Shipment Status', 'woo-advanced-shipment-tracking' ); ?></h3>
15
+ </td>
16
+ </tr>
17
+ </tbody>
18
+ </table>
19
+ <table class="form-table">
20
+ <tbody>
21
+ <tr>
22
+ <td>
23
+ <p><?php _e( 'You can send all your orders from the last 30 days to get shipment status from TrackShip:', 'woo-advanced-shipment-tracking' ); ?></p>
24
+ </td>
25
+ </tr>
26
+ </tbody>
27
+ </table>
28
+ <?php $this->get_html( $this->get_trackship_bulk_actions_data() ); ?>
29
+ </div>
30
+ <?php
31
+ if($wc_ast_api_key){ include 'zorem_admin_sidebar.php'; }
32
+ ?>
33
+ </div>
34
+ </section>
includes/views/admin_options_trackship_integration.php CHANGED
@@ -1,232 +1,265 @@
 
 
 
 
 
 
1
  <section id="content3" class="tab_section">
2
  <div class="d_table" style="">
3
- <div class="tab_inner_container">
4
- <form method="post" id="wc_ast_trackship_form" action="" enctype="multipart/form-data">
5
- <?php
6
- $wc_ast_api_key = get_option('wc_ast_api_key');
7
- if($wc_ast_api_key){ ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
- <table class="form-table heading-table">
10
- <tbody>
11
- <tr valign="top">
12
- <td><h3 style=""><?php _e( 'Connection status', 'woo-advanced-shipment-tracking' ); ?></h3></td>
13
- </tr>
14
- </tbody>
15
- </table>
16
- <table class="form-table">
17
- <tbody>
18
- <tr valign="top">
19
- <td><label><?php _e( 'TrackShip Connection Status', 'woo-advanced-shipment-tracking' ); ?></label></td>
20
- <td class="forminp">
21
- <fieldset>
22
- <a href="https://my.trackship.info/" target="_blank">
23
- <span class="api_connected"><label><?php _e( 'Connected', 'woo-advanced-shipment-tracking' ); ?></label><span class="dashicons dashicons-yes"></span></span>
24
- </a>
25
- </fieldset>
26
- </td>
27
- </tr>
28
- <tr valign="top">
29
- <td colspan="2">
30
- <?php _e( 'You are now connected with TrackShip! TrackShip makes it effortless to automate your post shipping operations and get tracking and delivery status updates directly in the WooCommerce admin.', 'woo-advanced-shipment-tracking' ); ?>
31
- </td>
32
- </tr>
33
- <tr valign="top">
34
- <td colspan="2">
35
- <a href="https://trackship.info/documentation/" class="" style="margin-right: 10px;" target="blank"><?php _e( 'Documentation', 'woo-advanced-shipment-tracking' ); ?></a>
36
- <a href="https://my.trackship.info/" class="" target="blank"><?php _e( 'TrackShip Dashboard', 'woo-advanced-shipment-tracking' ); ?></a>
37
- </td>
38
- </tr>
39
- </tbody>
40
- </table>
41
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
 
43
- <table class="form-table heading-table">
44
- <tbody>
45
- <tr valign="top">
46
- <td>
47
- <h3 style=""><?php _e( 'General Settings', 'woo-advanced-shipment-tracking' ); ?></h3>
48
- </td>
49
- </tr>
50
- </tbody>
51
- </table>
52
- <?php $this->get_html( $this->get_trackship_general_data() ); ?>
53
- <table class="form-table">
54
- <tbody>
55
- <tr valign="top">
56
- <td class="button-column">
57
- <div class="submit">
58
- <button name="save" class="button-primary woocommerce-save-button btn_ast2 btn_large" type="submit" value="Save changes"><?php _e( 'Save Changes', 'woo-advanced-shipment-tracking' ); ?></button>
59
- <div class="spinner"></div>
60
- <?php wp_nonce_field( 'wc_ast_trackship_form', 'wc_ast_trackship_form' );?>
61
- <input type="hidden" name="action" value="wc_ast_trackship_form_update">
62
- </div>
63
- </td>
64
- </tr>
65
- </tbody>
66
- </table>
 
 
 
 
 
67
 
68
- <table class="form-table heading-table">
69
- <tbody>
70
- <tr valign="top">
71
- <td>
72
- <h3 style=""><?php _e( 'Tracking Page', 'woo-advanced-shipment-tracking' ); ?></h3>
73
- </td>
74
- </tr>
75
- </tbody>
76
- </table>
77
- <?php $this->get_html( $this->get_trackship_page_data() ); ?>
78
- <table class="form-table">
79
- <tbody>
80
- <tr valign="top">
81
- <td>
82
- <a href="<?php echo admin_url('admin-ajax.php')?>?action=preview_tracking_page" class="tracking-preview-link" target="_blank" style="line-height: 30px;"><?php _e('Click to preview the tracking page', 'woo-advanced-shipment-tracking'); ?></a>
83
- <p class="tracking-preview-desc"><?php _e('PLEASE NOTE - make sure to save your settings before preview.', 'woo-advanced-shipment-tracking'); ?></p>
84
- </td>
85
- </tr>
86
- <tr valign="top">
87
- <td class="button-column">
88
- <div class="submit">
89
- <button name="save" class="button-primary woocommerce-save-button btn_ast2 btn_large" type="submit" value="Save changes"><?php _e( 'Save Changes', 'woo-advanced-shipment-tracking' ); ?></button>
90
- <div class="spinner"></div>
91
- <?php wp_nonce_field( 'wc_ast_trackship_form', 'wc_ast_trackship_form' );?>
92
- <input type="hidden" name="action" value="wc_ast_trackship_form_update">
93
- </div>
94
- </td>
95
- </tr>
96
- </tbody>
97
- </table>
98
- <?php
99
- if($wc_ast_api_key){
100
- ?>
101
- <?php } ?>
102
- <h3 class="table-heading"><?php _e('Shipment Status Notifications ', 'woo-advanced-shipment-tracking'); ?></h3>
103
- <?php
104
- $wcast_enable_delivered_email = get_option('woocommerce_customer_delivered_order_settings');
105
- $wcast_enable_pretransit_email = get_theme_mod('wcast_enable_pretransit_email');
106
- $wcast_enable_intransit_email = get_theme_mod('wcast_enable_intransit_email');
107
- $wcast_enable_outfordelivery_email = get_theme_mod('wcast_enable_outfordelivery_email');
108
- $wcast_enable_failure_email = get_theme_mod('wcast_enable_failure_email');
109
- $wcast_enable_delivered_status_email = get_theme_mod('wcast_enable_delivered_status_email');
110
- $wcast_enable_returntosender_email = get_theme_mod('wcast_enable_returntosender_email');
111
- $wcast_enable_availableforpickup_email = get_theme_mod('wcast_enable_availableforpickup_email');
112
- $wc_ast_api_key = get_option('wc_ast_api_key');
113
- //echo '<pre>';print_r($wcast_enable_delivered_email['enabled']);echo '</pre>';
114
- ?>
115
- <section class="ac-container">
116
- <?php
117
- if($wc_ast_api_key){
118
- ?>
119
- <div class="headig_label <?php if($wcast_enable_intransit_email == 1){ echo 'enable'; } else{ echo 'disable'; }?>">
120
- <img class="email-icon" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/css/icons/In-Transit-512.png">
121
- <span class="email_status_span">
122
- <span class="mdl-list__item-secondary-action shipment_status_toggle">
123
- <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="wcast_enable_intransit_email">
124
- <input type="checkbox" name="wcast_enable_intransit_email" id="wcast_enable_intransit_email" class="mdl-switch__input" value="yes" <?php if($wcast_enable_intransit_email == 1) { echo 'checked'; } ?> />
125
- </label>
126
- </span>
127
- </span>
128
- <a href="<?php echo wcast_intransit_customizer_email::get_customizer_url('customer_intransit_email','shipment-status-notifications') ?>" class="email_heading"><?php _e('In Transit', 'woo-advanced-shipment-tracking'); ?></a>
129
- <a class="edit_customizer_a" href="<?php echo wcast_intransit_customizer_email::get_customizer_url('customer_intransit_email','shipment-status-notifications') ?>"><?php _e('Edit', 'woo-advanced-shipment-tracking'); ?></a>
130
- <p class="shipment_about"><?php _e('Carrier has accepted or picked up shipment from shipper. The shipment is on the way.', 'woo-advanced-shipment-tracking'); ?></p>
131
- </div>
132
-
133
- <div class="headig_label <?php if($wcast_enable_returntosender_email == 1){ echo 'enable'; } else{ echo 'disable'; }?>">
134
- <img class="email-icon" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/css/icons/return-to-sender-512.png">
135
- <span class="email_status_span">
136
- <span class="mdl-list__item-secondary-action shipment_status_toggle">
137
- <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="wcast_enable_returntosender_email">
138
- <input type="checkbox" name="wcast_enable_returntosender_email" id="wcast_enable_returntosender_email" class="mdl-switch__input" value="yes" <?php if($wcast_enable_returntosender_email == 1) { echo 'checked'; } ?> />
139
- </label>
140
- </span>
141
- </span>
142
- <a href="<?php echo wcast_returntosender_customizer_email::get_customizer_url('customer_returntosender_email','shipment-status-notifications') ?>" class="email_heading"><?php _e('Return To Sender', 'woo-advanced-shipment-tracking'); ?></a>
143
- <a class="edit_customizer_a" href="<?php echo wcast_returntosender_customizer_email::get_customizer_url('customer_returntosender_email','shipment-status-notifications') ?>"><?php _e('Edit', 'woo-advanced-shipment-tracking'); ?></a>
144
- <p class="shipment_about"><?php _e('Shipment is returned to sender', 'woo-advanced-shipment-tracking'); ?></p>
145
- </div>
146
-
147
- <div class="headig_label <?php if($wcast_enable_availableforpickup_email == 1){ echo 'enable'; } else{ echo 'disable'; }?>">
148
- <img class="email-icon" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/css/icons/available-for-picup-512.png">
149
- <span class="email_status_span">
150
- <span class="mdl-list__item-secondary-action shipment_status_toggle">
151
- <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="wcast_enable_availableforpickup_email">
152
- <input type="checkbox" name="wcast_enable_availableforpickup_email" id="wcast_enable_availableforpickup_email" class="mdl-switch__input" value="yes" <?php if($wcast_enable_availableforpickup_email == 1) { echo 'checked'; } ?> />
153
- </label>
154
- </span>
155
- </span>
156
- <a href="<?php echo wcast_availableforpickup_customizer_email::get_customizer_url('customer_availableforpickup_email','shipment-status-notifications') ?>" class="email_heading"><?php _e('Available For Pickup', 'woo-advanced-shipment-tracking'); ?></a>
157
- <a class="edit_customizer_a" href="<?php echo wcast_availableforpickup_customizer_email::get_customizer_url('customer_availableforpickup_email','shipment-status-notifications') ?>"><?php _e('Edit', 'woo-advanced-shipment-tracking'); ?></a>
158
- <p class="shipment_about"><?php _e('The shipment is ready to pickup.', 'woo-advanced-shipment-tracking'); ?></p>
159
- </div>
160
- <div class="headig_label <?php if($wcast_enable_outfordelivery_email == 1){ echo 'enable'; } else{ echo 'disable'; }?>">
161
- <img class="email-icon" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/css/icons/Out-for-Delivery-512.png">
162
- <span class="email_status_span">
163
- <span class="mdl-list__item-secondary-action shipment_status_toggle">
164
- <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="wcast_enable_outfordelivery_email">
165
- <input type="checkbox" name="wcast_enable_outfordelivery_email" id="wcast_enable_outfordelivery_email" class="mdl-switch__input" value="yes" <?php if($wcast_enable_outfordelivery_email == 1) { echo 'checked'; } ?> />
166
- </label>
167
- </span>
168
- </span>
169
- <a href="<?php echo wcast_outfordelivery_customizer_email::get_customizer_url('customer_outfordelivery_email','shipment-status-notifications') ?>" class="email_heading"><?php _e('Out For Delivery', 'woo-advanced-shipment-tracking'); ?></a>
170
- <a class="edit_customizer_a" href="<?php echo wcast_outfordelivery_customizer_email::get_customizer_url('customer_outfordelivery_email','shipment-status-notifications') ?>"><?php _e('Edit', 'woo-advanced-shipment-tracking'); ?></a>
171
- <p class="shipment_about"><?php _e('Carrier is about to deliver the shipment', 'woo-advanced-shipment-tracking'); ?></p>
172
- </div>
173
-
174
- <div class="delivered_shipment_label headig_label <?php if($wcast_enable_delivered_status_email == 1){ echo 'enable'; } else{ echo 'disable'; }?> <?php if($wcast_enable_delivered_email['enabled'] === 'yes'){ echo 'delivered_enabel'; } ?>">
175
- <img class="email-icon" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/css/icons/Delivered-512.png">
176
- <span class="email_status_span">
177
- <span class="mdl-list__item-secondary-action shipment_status_toggle">
178
- <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="wcast_enable_delivered_status_email">
179
- <input type="checkbox" name="wcast_enable_delivered_status_email" id="wcast_enable_delivered_status_email" class="mdl-switch__input" value="yes" <?php if($wcast_enable_delivered_status_email == 1 && $wcast_enable_delivered_email['enabled'] != 'yes') { echo 'checked'; } ?> <?php if($wcast_enable_delivered_email['enabled'] === 'yes'){ echo 'disabled'; }?> />
180
- </label>
181
- </span>
182
- </span>
183
- <a href="<?php echo wcast_delivered_customizer_email::get_customizer_url('customer_delivered_status_email','shipment-status-notifications') ?>" class="email_heading <?php if($wcast_enable_delivered_email['enabled'] === 'yes'){ echo 'disabled_link'; }?>"><?php _e('Delivered', 'woo-advanced-shipment-tracking'); ?></a>
184
- <a class="edit_customizer_a <?php if($wcast_enable_delivered_email['enabled'] === 'yes'){ echo 'disabled_link'; }?>" href="<?php echo wcast_delivered_customizer_email::get_customizer_url('customer_delivered_status_email','shipment-status-notifications') ?>"><?php _e('Edit', 'woo-advanced-shipment-tracking'); ?></a>
185
- <p class="shipment_about"><?php _e('The shipment was delivered successfully', 'woo-advanced-shipment-tracking'); ?></p>
186
- <p class="delivered_message <?php if($wcast_enable_delivered_email['enabled'] === 'yes'){ echo 'disable_delivered'; }?>"><?php _e("You already have delivered email enabled, to enable this email you'll need to disable the order status delivered in settings.", 'woo-advanced-shipment-tracking'); ?></p>
187
- </div>
188
-
189
- <div class="headig_label <?php if($wcast_enable_failure_email == 1){ echo 'enable'; } else{ echo 'disable'; }?>">
190
- <img class="email-icon" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/css/icons/failure-512.png">
191
- <span class="email_status_span">
192
- <span class="mdl-list__item-secondary-action shipment_status_toggle">
193
- <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="wcast_enable_failure_email">
194
- <input type="checkbox" name="wcast_enable_failure_email" id="wcast_enable_failure_email" class="mdl-switch__input" value="yes" <?php if($wcast_enable_failure_email == 1) { echo 'checked'; } ?> />
195
- </label>
196
- </span>
197
- </span>
198
- <a href="<?php echo wcast_failure_customizer_email::get_customizer_url('customer_failure_email','shipment-status-notifications') ?>" class="email_heading"><?php _e('Failed Attempt', 'woo-advanced-shipment-tracking'); ?></a>
199
- <a class="edit_customizer_a" href="<?php echo wcast_failure_customizer_email::get_customizer_url('customer_failure_email','shipment-status-notifications') ?>"><?php _e('Edit', 'woo-advanced-shipment-tracking'); ?></a>
200
- <p class="shipment_about"><?php _e('Carrier attempted to deliver but failed, and usually leaves a notice and will try to deliver the package again.', 'woo-advanced-shipment-tracking'); ?></p>
201
- </div>
202
- <?php } ?>
203
- </section>
204
- <?php } else{ ?>
205
- <div class="section-content trackship_section">
206
- <div class="trackship-upsell-overlay">
207
- <div class="trackship-upsell-top">
208
- <h3><img src="https://trackship.info/wp-content/uploads/2019/08/trackship-400.png" class="trackship_logo"></h3>
209
- <p class="trackship-upsell-subtitle"><?php _e('TracksShip is a premium shipment tracking API flatform that fully integrates with WooCommerce with the Advanced Shipment Tracking. TrackShip automates the order management workflows, reduces customer inquiries, reduces time spent on customer service, and improves the post-purchase experience and satisfaction of your customers.', 'woo-advanced-shipment-tracking'); ?></p>
210
- <p class="trackship-upsell-subtitle"><?php _e('You must have account TracksShip and connect your store in order to activate these advanced features:', 'woo-advanced-shipment-tracking'); ?></p>
211
- </div>
212
- <div class="trackship-upsell-content">
213
- <ul>
214
- <li><?php _e('Automatically track your shipments with 100+ shipping providers.', 'woo-advanced-shipment-tracking'); ?></li>
215
- <li><?php _e('Display Shipment Status and latest shipment status, update date and est. delivery date on WooCommerce orders admin.', 'woo-advanced-shipment-tracking'); ?></li>
216
- <li><?php _e('Option to manually get shipment tracking updates for orders.', 'woo-advanced-shipment-tracking'); ?></li>
217
- <li><?php _e('Automatically change order status to Delivered once the shipment is delivered to your customers.', 'woo-advanced-shipment-tracking'); ?></li>
218
- <li><?php _e('Option to filter orders with invalid tracking numbers or by shipment status event in orders admin', 'woo-advanced-shipment-tracking'); ?></li>
219
- <li><?php _e('Send personalized emails to notify the customer when their shipments are In Transit, Out For Delivery, Delivered or have an exception.', 'woo-advanced-shipment-tracking'); ?></li>
220
- <li><?php _e('Direct customers to a Tracking page on your store.', 'woo-advanced-shipment-tracking'); ?></li>
221
- </ul>
222
- <div class="text-center"><a href="https://trackship.info/" target="_blank" class="button-primary woocommerce-upload-csv-save-button btn_green2 btn_large"><?php _e('SIGNUP NOW', 'woo-advanced-shipment-tracking'); ?></a></div>
223
  </div>
224
- </div>
225
- </div>
226
- <?php }
227
- ?>
228
- </form>
229
- </div>
230
  <?php
231
  if($wc_ast_api_key){
232
  include 'zorem_admin_sidebar.php';
1
+ <?php
2
+ /**
3
+ * html code for trackship tab
4
+ */
5
+
6
+ ?>
7
  <section id="content3" class="tab_section">
8
  <div class="d_table" style="">
9
+ <div class="tab_inner_container">
10
+ <form method="post" id="wc_ast_trackship_form" action="" enctype="multipart/form-data">
11
+ <?php
12
+ $wc_ast_api_key = get_option('wc_ast_api_key');
13
+
14
+ if($wc_ast_api_key){
15
+ $url = 'https://my.trackship.info/wp-json/tracking/get_user_plan';
16
+ $args['body'] = array(
17
+ 'user_key' => $wc_ast_api_key,
18
+ );
19
+ $response = wp_remote_post( $url, $args );
20
+ $plan_data = json_decode($response['body']);
21
+ ?>
22
+
23
+ <table class="form-table heading-table">
24
+ <tbody>
25
+ <tr valign="top">
26
+ <td><h3 style=""><?php _e( 'Connection status', 'woo-advanced-shipment-tracking' ); ?></h3></td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ <table class="form-table">
31
+ <tbody>
32
+ <tr valign="top">
33
+ <td><label><?php _e( 'TrackShip Connection Status', 'woo-advanced-shipment-tracking' ); ?></label></td>
34
+ <td class="forminp">
35
+ <fieldset>
36
+ <a href="https://my.trackship.info/" target="_blank">
37
+ <span class="api_connected"><label><?php _e( 'Connected', 'woo-advanced-shipment-tracking' ); ?></label><span class="dashicons dashicons-yes"></span></span>
38
+ </a>
39
+ </fieldset>
40
+ </td>
41
+ </tr>
42
+ <tr valign="top">
43
+ <td><label><?php _e( 'Trackers Balance', 'woo-advanced-shipment-tracking' ); ?></label></td>
44
+ <td class="forminp">
45
+ <fieldset>
46
+ <strong><?php echo get_option('trackers_balance'); ?></strong>
47
+ </fieldset>
48
+ </td>
49
+ </tr>
50
+ <tr valign="top">
51
+ <td><label><?php _e( 'Current Plan', 'woo-advanced-shipment-tracking' ); ?></label></td>
52
+ <td class="forminp">
53
+ <fieldset>
54
+ <strong>
55
+ <?php
56
+ if(isset($plan_data->subscription_plan)){
57
+ echo $plan_data->subscription_plan;
58
+ }
59
+ ?>
60
+ </strong>
61
+ </fieldset>
62
+ </td>
63
+ </tr>
64
+ <tr valign="top">
65
+ <td colspan="2">
66
+ <?php _e( 'You are now connected with TrackShip! TrackShip makes it effortless to automate your post shipping operations and get tracking and delivery status updates directly in the WooCommerce admin.', 'woo-advanced-shipment-tracking' ); ?>
67
+ </td>
68
+ </tr>
69
+ <tr valign="top">
70
+ <td colspan="2">
71
+ <a href="https://trackship.info/documentation/" class="" style="margin-right: 10px;" target="blank"><?php _e( 'Documentation', 'woo-advanced-shipment-tracking' ); ?></a>
72
+ <a href="https://my.trackship.info/" class="" target="blank"><?php _e( 'TrackShip Dashboard', 'woo-advanced-shipment-tracking' ); ?></a>
73
+ </td>
74
+ </tr>
75
+ </tbody>
76
+ </table>
77
+
78
+ <table class="form-table heading-table">
79
+ <tbody>
80
+ <tr valign="top">
81
+ <td>
82
+ <h3 style=""><?php _e( 'General Settings', 'woo-advanced-shipment-tracking' ); ?></h3>
83
+ </td>
84
+ </tr>
85
+ </tbody>
86
+ </table>
87
+ <?php $this->get_html( $this->get_trackship_general_data() ); ?>
88
+ <table class="form-table">
89
+ <tbody>
90
+ <tr valign="top">
91
+ <td class="button-column">
92
+ <div class="submit">
93
+ <button name="save" class="button-primary woocommerce-save-button btn_ast2 btn_large" type="submit" value="Save changes"><?php _e( 'Save Changes', 'woo-advanced-shipment-tracking' ); ?></button>
94
+ <div class="spinner"></div>
95
+ <?php wp_nonce_field( 'wc_ast_trackship_form', 'wc_ast_trackship_form' );?>
96
+ <input type="hidden" name="action" value="wc_ast_trackship_form_update">
97
+ </div>
98
+ </td>
99
+ </tr>
100
+ </tbody>
101
+ </table>
102
+
103
+ <table class="form-table heading-table">
104
+ <tbody>
105
+ <tr valign="top">
106
+ <td>
107
+ <h3 style=""><?php _e( 'Tracking Page', 'woo-advanced-shipment-tracking' ); ?></h3>
108
+ </td>
109
+ </tr>
110
+ </tbody>
111
+ </table>
112
+ <?php $this->get_html( $this->get_trackship_page_data() ); ?>
113
+ <table class="form-table">
114
+ <tbody>
115
+ <tr valign="top">
116
+ <td>
117
+ <a href="<?php echo get_home_url(); ?>?action=preview_tracking_page" class="tracking-preview-link" target="_blank" style="line-height: 30px;"><?php _e('Click to preview the tracking page', 'woo-advanced-shipment-tracking'); ?></a>
118
+ <p class="tracking-preview-desc"><?php _e('PLEASE NOTE - make sure to save your settings before preview.', 'woo-advanced-shipment-tracking'); ?></p>
119
+ </td>
120
+ </tr>
121
+ <tr valign="top">
122
+ <td class="button-column">
123
+ <div class="submit">
124
+ <button name="save" class="button-primary woocommerce-save-button btn_ast2 btn_large" type="submit" value="Save changes"><?php _e( 'Save Changes', 'woo-advanced-shipment-tracking' ); ?></button>
125
+ <div class="spinner"></div>
126
+ <?php wp_nonce_field( 'wc_ast_trackship_form', 'wc_ast_trackship_form' );?>
127
+ <input type="hidden" name="action" value="wc_ast_trackship_form_update">
128
+ </div>
129
+ </td>
130
+ </tr>
131
+ </tbody>
132
+ </table>
133
+ <?php
134
+ if($wc_ast_api_key){
135
+ ?>
136
+ <?php } ?>
137
+ <h3 class="table-heading"><?php _e('Shipment Status Notifications ', 'woo-advanced-shipment-tracking'); ?></h3>
138
+ <?php
139
+ $wcast_enable_delivered_email = get_option('woocommerce_customer_delivered_order_settings');
140
+ $wcast_enable_pretransit_email = get_theme_mod('wcast_enable_pretransit_email');
141
+ $wcast_enable_intransit_email = get_theme_mod('wcast_enable_intransit_email');
142
+ $wcast_enable_outfordelivery_email = get_theme_mod('wcast_enable_outfordelivery_email');
143
+ $wcast_enable_failure_email = get_theme_mod('wcast_enable_failure_email');
144
+ $wcast_enable_delivered_status_email = get_theme_mod('wcast_enable_delivered_status_email');
145
+ $wcast_enable_returntosender_email = get_theme_mod('wcast_enable_returntosender_email');
146
+ $wcast_enable_availableforpickup_email = get_theme_mod('wcast_enable_availableforpickup_email');
147
+ $wc_ast_api_key = get_option('wc_ast_api_key');
148
+ //echo '<pre>';print_r($wcast_enable_delivered_email['enabled']);echo '</pre>';
149
+ ?>
150
+ <section class="ac-container">
151
+
152
+ <div class="headig_label <?php if($wcast_enable_intransit_email == 1){ echo 'enable'; } else{ echo 'disable'; }?>">
153
+ <img class="email-icon" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/css/icons/In-Transit-512.png">
154
+ <span class="email_status_span">
155
+ <span class="mdl-list__item-secondary-action shipment_status_toggle">
156
+ <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="wcast_enable_intransit_email">
157
+ <input type="checkbox" name="wcast_enable_intransit_email" id="wcast_enable_intransit_email" class="mdl-switch__input" value="yes" <?php if($wcast_enable_intransit_email == 1) { echo 'checked'; } ?> />
158
+ </label>
159
+ </span>
160
+ </span>
161
+ <a href="<?php echo wcast_intransit_customizer_email::get_customizer_url('customer_intransit_email','shipment-status-notifications') ?>" class="email_heading"><?php _e('In Transit', 'woo-advanced-shipment-tracking'); ?></a>
162
+ <a class="edit_customizer_a" href="<?php echo wcast_intransit_customizer_email::get_customizer_url('customer_intransit_email','shipment-status-notifications') ?>"><?php _e('Edit', 'woocommerce'); ?></a>
163
+ <p class="shipment_about"><?php _e('Carrier has accepted or picked up shipment from shipper. The shipment is on the way.', 'woo-advanced-shipment-tracking'); ?></p>
164
+ </div>
165
 
166
+ <div class="headig_label <?php if($wcast_enable_returntosender_email == 1){ echo 'enable'; } else{ echo 'disable'; }?>">
167
+ <img class="email-icon" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/css/icons/return-to-sender-512.png">
168
+ <span class="email_status_span">
169
+ <span class="mdl-list__item-secondary-action shipment_status_toggle">
170
+ <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="wcast_enable_returntosender_email">
171
+ <input type="checkbox" name="wcast_enable_returntosender_email" id="wcast_enable_returntosender_email" class="mdl-switch__input" value="yes" <?php if($wcast_enable_returntosender_email == 1) { echo 'checked'; } ?> />
172
+ </label>
173
+ </span>
174
+ </span>
175
+ <a href="<?php echo wcast_returntosender_customizer_email::get_customizer_url('customer_returntosender_email','shipment-status-notifications') ?>" class="email_heading"><?php _e('Return To Sender', 'woo-advanced-shipment-tracking'); ?></a>
176
+ <a class="edit_customizer_a" href="<?php echo wcast_returntosender_customizer_email::get_customizer_url('customer_returntosender_email','shipment-status-notifications') ?>"><?php _e('Edit', 'woocommerce'); ?></a>
177
+ <p class="shipment_about"><?php _e('Shipment is returned to sender', 'woo-advanced-shipment-tracking'); ?></p>
178
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
 
180
+ <div class="headig_label <?php if($wcast_enable_availableforpickup_email == 1){ echo 'enable'; } else{ echo 'disable'; }?>">
181
+ <img class="email-icon" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/css/icons/available-for-picup-512.png">
182
+ <span class="email_status_span">
183
+ <span class="mdl-list__item-secondary-action shipment_status_toggle">
184
+ <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="wcast_enable_availableforpickup_email">
185
+ <input type="checkbox" name="wcast_enable_availableforpickup_email" id="wcast_enable_availableforpickup_email" class="mdl-switch__input" value="yes" <?php if($wcast_enable_availableforpickup_email == 1) { echo 'checked'; } ?> />
186
+ </label>
187
+ </span>
188
+ </span>
189
+ <a href="<?php echo wcast_availableforpickup_customizer_email::get_customizer_url('customer_availableforpickup_email','shipment-status-notifications') ?>" class="email_heading"><?php _e('Available For Pickup', 'woo-advanced-shipment-tracking'); ?></a>
190
+ <a class="edit_customizer_a" href="<?php echo wcast_availableforpickup_customizer_email::get_customizer_url('customer_availableforpickup_email','shipment-status-notifications') ?>"><?php _e('Edit', 'woocommerce'); ?></a>
191
+ <p class="shipment_about"><?php _e('The shipment is ready to pickup.', 'woo-advanced-shipment-tracking'); ?></p>
192
+ </div>
193
+ <div class="headig_label <?php if($wcast_enable_outfordelivery_email == 1){ echo 'enable'; } else{ echo 'disable'; }?>">
194
+ <img class="email-icon" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/css/icons/Out-for-Delivery-512.png">
195
+ <span class="email_status_span">
196
+ <span class="mdl-list__item-secondary-action shipment_status_toggle">
197
+ <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="wcast_enable_outfordelivery_email">
198
+ <input type="checkbox" name="wcast_enable_outfordelivery_email" id="wcast_enable_outfordelivery_email" class="mdl-switch__input" value="yes" <?php if($wcast_enable_outfordelivery_email == 1) { echo 'checked'; } ?> />
199
+ </label>
200
+ </span>
201
+ </span>
202
+ <a href="<?php echo wcast_outfordelivery_customizer_email::get_customizer_url('customer_outfordelivery_email','shipment-status-notifications') ?>" class="email_heading"><?php _e('Out For Delivery', 'woo-advanced-shipment-tracking'); ?></a>
203
+ <a class="edit_customizer_a" href="<?php echo wcast_outfordelivery_customizer_email::get_customizer_url('customer_outfordelivery_email','shipment-status-notifications') ?>"><?php _e('Edit', 'woocommerce'); ?></a>
204
+ <p class="shipment_about"><?php _e('Carrier is about to deliver the shipment', 'woo-advanced-shipment-tracking'); ?></p>
205
+ </div>
206
 
207
+ <div class="delivered_shipment_label headig_label <?php if($wcast_enable_delivered_status_email == 1){ echo 'enable'; } else{ echo 'disable'; }?> <?php if($wcast_enable_delivered_email['enabled'] === 'yes'){ echo 'delivered_enabel'; } ?>">
208
+ <img class="email-icon" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/css/icons/Delivered-512.png">
209
+ <span class="email_status_span">
210
+ <span class="mdl-list__item-secondary-action shipment_status_toggle">
211
+ <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="wcast_enable_delivered_status_email">
212
+ <input type="checkbox" name="wcast_enable_delivered_status_email" id="wcast_enable_delivered_status_email" class="mdl-switch__input" value="yes" <?php if($wcast_enable_delivered_status_email == 1 && $wcast_enable_delivered_email['enabled'] != 'yes') { echo 'checked'; } ?> <?php if($wcast_enable_delivered_email['enabled'] === 'yes'){ echo 'disabled'; }?> />
213
+ </label>
214
+ </span>
215
+ </span>
216
+ <a href="<?php echo wcast_delivered_customizer_email::get_customizer_url('customer_delivered_status_email','shipment-status-notifications') ?>" class="email_heading <?php if($wcast_enable_delivered_email['enabled'] === 'yes'){ echo 'disabled_link'; }?>"><?php _e('Delivered', 'woo-advanced-shipment-tracking'); ?></a>
217
+ <a class="edit_customizer_a <?php if($wcast_enable_delivered_email['enabled'] === 'yes'){ echo 'disabled_link'; }?>" href="<?php echo wcast_delivered_customizer_email::get_customizer_url('customer_delivered_status_email','shipment-status-notifications') ?>"><?php _e('Edit', 'woocommerce'); ?></a>
218
+ <p class="shipment_about"><?php _e('The shipment was delivered successfully', 'woo-advanced-shipment-tracking'); ?></p>
219
+ <p class="delivered_message <?php if($wcast_enable_delivered_email['enabled'] === 'yes'){ echo 'disable_delivered'; }?>"><?php _e("You already have delivered email enabled, to enable this email you'll need to disable the order status delivered in settings.", 'woo-advanced-shipment-tracking'); ?></p>
220
+ </div>
221
+
222
+ <div class="headig_label <?php if($wcast_enable_failure_email == 1){ echo 'enable'; } else{ echo 'disable'; }?>">
223
+ <img class="email-icon" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/css/icons/failure-512.png">
224
+ <span class="email_status_span">
225
+ <span class="mdl-list__item-secondary-action shipment_status_toggle">
226
+ <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="wcast_enable_failure_email">
227
+ <input type="checkbox" name="wcast_enable_failure_email" id="wcast_enable_failure_email" class="mdl-switch__input" value="yes" <?php if($wcast_enable_failure_email == 1) { echo 'checked'; } ?> />
228
+ </label>
229
+ </span>
230
+ </span>
231
+ <a href="<?php echo wcast_failure_customizer_email::get_customizer_url('customer_failure_email','shipment-status-notifications') ?>" class="email_heading"><?php _e('Failed Attempt', 'woo-advanced-shipment-tracking'); ?></a>
232
+ <a class="edit_customizer_a" href="<?php echo wcast_failure_customizer_email::get_customizer_url('customer_failure_email','shipment-status-notifications') ?>"><?php _e('Edit', 'woocommerce'); ?></a>
233
+ <p class="shipment_about"><?php _e('Carrier attempted to deliver but failed, and usually leaves a notice and will try to deliver the package again.', 'woo-advanced-shipment-tracking'); ?></p>
234
+ </div>
235
+ </section>
236
 
237
+ <?php } else{ ?>
238
+ <div class="section-content trackship_section">
239
+ <div class="trackship-upsell-overlay">
240
+ <div class="trackship-upsell-top">
241
+ <h3><img src="https://trackship.info/wp-content/uploads/2019/08/trackship-400.png" class="trackship_logo"></h3>
242
+ <p class="trackship-upsell-subtitle">TracksShip is a premium shipment tracking API flatform that fully integrates with WooCommerce with the Advanced Shipment Tracking. TrackShip automates the order management workflows, reduces customer inquiries, reduces time spent on customer service, and improves the post-purchase experience and satisfaction of your customers.</p>
243
+ <p class="trackship-upsell-subtitle">You must have account TracksShip and connect your store in order to activate these advanced features:</p>
244
+ </div>
245
+ <div class="trackship-upsell-content">
246
+ <ul>
247
+ <li>Automatically track your shipments with 100+ shipping providers.</li>
248
+ <li>Display Shipment Status and latest shipment status, update date and est. delivery date on WooCommerce orders admin.</li>
249
+ <li>Option to manually get shipment tracking updates for orders.</li>
250
+ <li>Automatically change order status to Delivered once the shipment is delivered to your customers.</li>
251
+ <li>Option to filter orders with invalid tracking numbers or by shipment status event in orders admin</li>
252
+ <li>Send personalized emails to notify the customer when their shipments are In Transit, Out For Delivery, Delivered or have an exception.</li>
253
+ <li>Direct customers to a Tracking page on your store.</li>
254
+ </ul>
255
+ <div class="text-center"><a href="https://trackship.info/?utm_source=wpadmin&utm_campaign=tspage" target="_blank" class="button-primary btn_green2 btn_large">SIGNUP NOW</a></div>
256
+ </div>
257
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
258
  </div>
259
+ <?php }
260
+ ?>
261
+ </form>
262
+ </div>
 
 
263
  <?php
264
  if($wc_ast_api_key){
265
  include 'zorem_admin_sidebar.php';
includes/views/html-tracking-info-design-preview.php DELETED
@@ -1,73 +0,0 @@
1
- <?php
2
- $table_header_font_size = '';
3
- $table_header_font_color = '';
4
- $table_content_font_size = '';
5
- $table_content_font_color = '';
6
- $email_border_color = '';
7
- $email_border_size = '';
8
- $shipment_tracking_header_text = '';
9
- $email_table_backgroud_color = '';
10
- $tracking_link_font_color = '';
11
- $tracking_link_bg_color = '';
12
-
13
- $display_thumbnail = get_option('display_shipment_provider_thumbnail');
14
- if(get_option('email_border_color')){ $email_border_color = get_option('email_border_color'); } else{ $email_border_color = "#e4e4e4"; }
15
- if(get_option('email_border_size')){ $email_border_size = get_option('email_border_size'); } else{ $email_border_size = "1"; }
16
- if(get_option('email_shipment_tracking_header')){ $shipment_tracking_header = get_option('email_shipment_tracking_header'); } else{ $shipment_tracking_header = "Tracking Information"; }
17
- if(get_option('email_shipment_tracking_header_text')){ $shipment_tracking_header_text = get_option('email_shipment_tracking_header_text'); }
18
- $email_table_backgroud_color = get_option('email_table_backgroud_color');
19
-
20
- if(get_option('email_table_header_font_size')){ $table_header_font_size = get_option('email_table_header_font_size'); }
21
- if(get_option('email_table_header_font_color')){ $table_header_font_color = get_option('email_table_header_font_color'); } else{ $table_header_font_color = "#737373"; }
22
-
23
- if(get_option('email_table_content_font_size')){ $table_content_font_size = get_option('email_table_content_font_size'); }
24
-
25
- if(get_option('email_table_content_font_color')){ $table_content_font_color = get_option('email_table_content_font_color'); } else{ $table_content_font_color = "#737373"; }
26
-
27
- if(get_option('email_table_tracking_link_font_color')){ $tracking_link_font_color = get_option('email_table_tracking_link_font_color'); }
28
-
29
- if(get_option('email_table_tracking_link_bg_color')){ $tracking_link_bg_color = get_option('email_table_tracking_link_bg_color'); }
30
-
31
- $th_column_style = "text-align: center; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;font-size:".$table_header_font_size."px; color: ".$table_header_font_color." ; border: ".$email_border_size."px solid ".$email_border_color."; padding: 12px;";
32
-
33
- $td_column_style = "text-align: center; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; font-size:".$table_content_font_size."px; color: ".$table_content_font_color." ; border: ".$email_border_size."px solid ".$email_border_color."; padding: 12px;";
34
-
35
- $tracking_link_style = "color: ".$tracking_link_font_color." ;background:".$tracking_link_bg_color.";padding: 10px;";
36
-
37
- $remove_date_from_tracking_info = get_option('remove_date_from_tracking_info');
38
- ?>
39
- <h2><?php echo apply_filters( 'woocommerce_shipment_tracking_my_orders_title', __( $shipment_tracking_header, 'woo-advanced-shipment-tracking' ) ); ?></h2>
40
- <p><?php echo $shipment_tracking_header_text; ?></p>
41
- <table class="td" cellspacing="0" cellpadding="6" style="width: 100%;border-collapse: collapse;margin-bottom: 20px;background:<?php echo $email_table_backgroud_color; ?>" border="1">
42
-
43
- <thead>
44
- <tr>
45
- <th class="tracking-provider" scope="col" class="td" style="<?php echo $th_column_style; ?>"><?php _e( 'Provider', 'woo-advanced-shipment-tracking' ); ?></th>
46
- <th class="tracking-number" scope="col" class="td" style="<?php echo $th_column_style; ?>"><?php _e( 'Tracking Number', 'woo-advanced-shipment-tracking' ); ?></th>
47
- <?php if($remove_date_from_tracking_info != 1){ ?>
48
- <th class="date-shipped" scope="col" class="td" style="<?php echo $th_column_style; ?>"><?php _e( 'Date', 'woocommerce' ); ?></th>
49
- <?php } ?>
50
- <th class="order-actions" scope="col" class="td" style="<?php echo $th_column_style; ?>">&nbsp;</th>
51
- </tr>
52
- </thead>
53
-
54
- <tbody>
55
- <tr class="tracking">
56
- <td class="tracking-provider" style="<?php echo $td_column_style; ?>">
57
- <?php
58
- if($display_thumbnail == 1){
59
- $src = wc_advanced_shipment_tracking()->plugin_dir_url()."assets/shipment-provider-img/usps.png";
60
- ?><img style="width: 50px;" src="<?php echo $src; ?>"><?php } _e( 'USPS', 'woo-advanced-shipment-tracking' ); ?>
61
- </td>
62
- <td class="tracking-number" style="<?php echo $td_column_style; ?>">
63
- 123456789
64
- </td>
65
- <?php if($remove_date_from_tracking_info != 1){ ?>
66
- <td class="date-shipped" style="<?php echo $td_column_style; ?>">March 9, 2019</td>
67
- <?php } ?>
68
- <td class="order-actions" style="<?php echo $td_column_style; ?>">
69
- <a href="#" style="<?php echo $tracking_link_style; ?>" target="_blank"><?php _e( 'Track', 'woo-advanced-shipment-tracking' ); ?></a>
70
- </td>
71
- </tr>
72
- </tbody>
73
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/views/zorem_admin_sidebar.php CHANGED
@@ -1,71 +1,45 @@
1
- <div class="zorem_admin_sidebar">
2
- <div class="ts_launch zorem-sidebar__section">
3
- <h3>Your opinion matters to us!</h3>
4
- <p>If you enjoy using advanced shipment tracking plugin, please take a minute to review the plugin</br>
5
- <span>Thanks :)</span>
6
- </p>
7
- <a href="https://wordpress.org/support/plugin/woo-advanced-shipment-tracking/reviews/#new-post" class="button button-primary btn_ast1 btn_large" target="_blank"><span>Share your review >></span><i class="icon-angle-right"></i></a>
8
- </div>
9
-
10
- <?php
11
- $wc_ast_api_key = get_option('wc_ast_api_key');
12
- if(!$wc_ast_api_key){
13
- ?>
14
- <div class="ts_launch zorem-sidebar__section">
15
- <h3 style="padding: 12px 15px 7px;"><img src="https://trackship.info/wp-content/uploads/2019/08/trackship-400.png" class="sidebar_ts_logo" style="max-width: 60%;"></h3>
16
- <p>TrackShip supports 100+ carriers and seamlessly integrates with WooCommerce to automate your post shipping operations.</br>
17
- </p>
18
- <a href="https://trackship.info/" class="button button-primary btn_green2 btn_large" target="_blank"><span>Try TrackShip for free!</span><i class="icon-angle-right"></i></a>
19
- </div>
20
- <?php } ?>
21
-
22
- <!--<div class="zorem-sidebar-title"></div>-->
23
- <div class="zorem-sidebar__section">
24
- <h3>More plugins by zorem</h3>
25
- <?php
26
- $plugin_array = array(
27
- array(
28
- 'name' => 'Shop Manager Admin Bar for WooCommerce',
29
- 'url' => 'https://wordpress.org/plugins/woo-shop-manager-admin-bar/',
30
- 'img' => 'woocommerce-shop-manager-admin-bar-thumbnail.jpg',
31
- ),
32
- array(
33
- 'name' => 'Ajax Login/Register for WooCommerce',
34
- 'url' => 'https://wordpress.org/plugins/woo-ajax-loginregister/',
35
- 'img' => 'WooCommerce-Ajax-Login-Register-thumbnail.jpg',
36
- ),
37
- array(
38
- 'name' => 'Sales Report Email for WooCommerce',
39
- 'url' => 'https://wordpress.org/plugins/woo-advanced-sales-report-email/',
40
- 'img' => 'woocommerce-advanced-sales-report-email-thumbnail.jpg',
41
- ),
42
- /*0 => array(
43
- 'name' => 'Country Based Restrictions for WooCommerce',
44
- 'url' => 'https://wordpress.org/plugins/woo-product-country-base-restrictions/',
45
- 'img' => 'WooCommerce-Country-Based-Restrictions-thumbnail.jpg',
46
- ),
47
- 4 => array(
48
- 'name' => 'Sales Report By Country for WooCommerce',
49
- 'url' => 'https://wordpress.org/plugins/woo-sales-by-country-reports/',
50
- 'img' => 'country-based-report-banner-thumbnail.jpg',
51
- ),
52
- 5 => array(
53
- 'name' => 'Sales Report for WooCommerce & WP-Lister',
54
- 'url' => 'https://wordpress.org/plugins/woo-sales-report-for-wp-lister/',
55
- 'img' => 'WooCommerce-Sales-Report-for-WP-Lister-thumbnail.jpg',
56
- ),
57
- 6 => array(
58
- 'name' => 'Bit Payment Gateway for WooCommerce',
59
- 'url' => 'https://wordpress.org/plugins/woo-bit-payment-gateway/',
60
- 'img' => 'WooCommerce-Bit-payment-thumbnail.jpg',
61
- ),*/
62
- );
63
- ?>
64
- <ul>
65
- <?php foreach($plugin_array as $plugin){ ?>
66
- <li><img class="plugin_thumbnail" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/images/<?php echo $plugin['img']?>"><a class="plugin_url" href="<?php echo $plugin['url']?>" target="_blank"><?php echo $plugin['name']?></a></li>
67
- <?php }?>
68
- </ul>
69
- <!--a href="https://www.zorem.com/plugins/" target="_blank">view all zorem plugins</a-->
70
- </div>
71
- </div>
1
+ <?php
2
+ /**
3
+ * html code for admin sidebar
4
+ */
5
+ ?>
6
+ <div class="zorem_admin_sidebar">
7
+ <div class="ts_launch zorem-sidebar__section">
8
+ <h3>Your opinion matters to us!</h3>
9
+ <p>If you enjoy using advanced shipment tracking plugin, please take a minute to review the plugin</br>
10
+ <span>Thanks :)</span>
11
+ </p>
12
+ <a href="https://wordpress.org/support/plugin/woo-advanced-shipment-tracking/reviews/#new-post" class="button button-primary btn_ast1 btn_large" target="_blank"><span>Share your review >></span><i class="icon-angle-right"></i></a>
13
+ </div>
14
+
15
+ <?php
16
+ $wc_ast_api_key = get_option('wc_ast_api_key');
17
+
18
+ if(!$wc_ast_api_key){
19
+ ?>
20
+ <div class="ts_launch zorem-sidebar__section">
21
+ <h3 style="padding: 12px 15px 7px;"><img src="https://trackship.info/wp-content/uploads/2019/08/trackship-400.png" class="sidebar_ts_logo" style="max-width: 60%;"></h3>
22
+ <p>TrackShip supports 100+ carriers and seamlessly integrates with WooCommerce to automate your post shipping operations.</br>
23
+ </p>
24
+ <a href="https://trackship.info/?utm_source=wpadmin&utm_campaign=astsidebar" class="button button-primary btn_green2 btn_large" target="_blank"><span>Try TrackShip for free!</span><i class="icon-angle-right"></i></a>
25
+ </div>
26
+ <?php } ?>
27
+
28
+ <div class="zorem-sidebar__section">
29
+ <h3>More plugins by zorem</h3>
30
+ <?php
31
+ $response = wp_remote_get('https://www.zorem.com/wp-json/pluginlist/v1' );
32
+ if ( is_array( $response ) ) {
33
+ $plugin_list = json_decode($response['body']);
34
+ ?>
35
+ <ul>
36
+ <?php foreach($plugin_list as $plugin){
37
+ if( 'Advanced Shipment Tracking for WooCommerce' != $plugin->title ) {
38
+ ?>
39
+ <li><img class="plugin_thumbnail" src="<?php echo $plugin->image_url; ?>"><a class="plugin_url" href="<?php echo $plugin->url; ?>" target="_blank"><?php echo $plugin->title; ?></a></li>
40
+ <?php }
41
+ }?>
42
+ </ul>
43
+ <?php } ?>
44
+ </div>
45
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/views/zorem_admin_ts_sidebar.php CHANGED
@@ -1,59 +1,32 @@
1
- <div class="zorem_admin_sidebar">
2
- <div class="ts_launch zorem-sidebar__section">
3
- <img src="https://trackship.info/wp-content/uploads/2019/08/trackship-400.png" alt="" style="max-width: 60%;">
4
-
5
- <p><a href="https://my.trackship.info" target="_blank" class="button button-primary btn_green" target="_blank"><span><?php _e( 'Dashboard', 'woo-advanced-shipment-tracking' ); ?></span><i class="icon-angle-right"></i></a></p>
6
-
7
- <p><a href="https://trackship.info/documentation/" target="_blank" class="button button-primary btn_green" target="_blank"><span><?php _e( 'Documentation', 'woo-advanced-shipment-tracking' ); ?></span><i class="icon-angle-right"></i></a></p>
8
- </div>
9
-
10
- <!--<div class="zorem-sidebar-title"></div>-->
11
- <div class="zorem-sidebar__section">
12
- <h3>More plugins by zorem</h3>
13
- <?php
14
- $plugin_array = array(
15
- array(
16
- 'name' => 'Shop Manager Admin Bar for WooCommerce',
17
- 'url' => 'https://wordpress.org/plugins/woo-shop-manager-admin-bar/',
18
- 'img' => 'woocommerce-shop-manager-admin-bar-thumbnail.jpg',
19
- ),
20
- array(
21
- 'name' => 'Ajax Login/Register for WooCommerce',
22
- 'url' => 'https://wordpress.org/plugins/woo-ajax-loginregister/',
23
- 'img' => 'WooCommerce-Ajax-Login-Register-thumbnail.jpg',
24
- ),
25
- /*0 => array(
26
- 'name' => 'Country Based Restrictions for WooCommerce',
27
- 'url' => 'https://wordpress.org/plugins/woo-product-country-base-restrictions/',
28
- 'img' => 'WooCommerce-Country-Based-Restrictions-thumbnail.jpg',
29
- ),
30
- 2 => array(
31
- 'name' => 'Sales Report Email for WooCommerce',
32
- 'url' => 'https://wordpress.org/plugins/woo-advanced-sales-report-email/',
33
- 'img' => 'woocommerce-advanced-sales-report-email-thumbnail.jpg',
34
- ),
35
- 4 => array(
36
- 'name' => 'Sales Report By Country for WooCommerce',
37
- 'url' => 'https://wordpress.org/plugins/woo-sales-by-country-reports/',
38
- 'img' => 'country-based-report-banner-thumbnail.jpg',
39
- ),
40
- 5 => array(
41
- 'name' => 'Sales Report for WooCommerce & WP-Lister',
42
- 'url' => 'https://wordpress.org/plugins/woo-sales-report-for-wp-lister/',
43
- 'img' => 'WooCommerce-Sales-Report-for-WP-Lister-thumbnail.jpg',
44
- ),
45
- 6 => array(
46
- 'name' => 'Bit Payment Gateway for WooCommerce',
47
- 'url' => 'https://wordpress.org/plugins/woo-bit-payment-gateway/',
48
- 'img' => 'WooCommerce-Bit-payment-thumbnail.jpg',
49
- ),*/
50
- );
51
- ?>
52
- <ul>
53
- <?php foreach($plugin_array as $plugin){ ?>
54
- <li><img class="plugin_thumbnail" src="<?php echo wc_advanced_shipment_tracking()->plugin_dir_url()?>assets/images/<?php echo $plugin['img']?>"><a class="plugin_url" href="<?php echo $plugin['url']?>" target="_blank"><?php echo $plugin['name']?></a></li>
55
- <?php }?>
56
- </ul>
57
- <!--a href="https://www.zorem.com/plugins/" target="_blank">view all zorem plugins</a-->
58
- </div>
59
- </div>
1
+ <?php
2
+ /**
3
+ * html code for trackip tab sidebar
4
+ */
5
+ ?>
6
+ <div class="zorem_admin_sidebar">
7
+ <div class="ts_launch zorem-sidebar__section">
8
+ <img src="https://trackship.info/wp-content/uploads/2019/08/trackship-400.png" alt="" style="max-width: 60%;">
9
+
10
+ <p><a href="https://my.trackship.info" target="_blank" class="button button-primary btn_green" target="_blank"><span><?php _e( 'Dashboard', 'woocommerce' ); ?></span><i class="icon-angle-right"></i></a></p>
11
+
12
+ <p><a href="https://trackship.info/documentation/" target="_blank" class="button button-primary btn_green" target="_blank"><span><?php _e( 'Documentation', 'woo-advanced-shipment-tracking' ); ?></span><i class="icon-angle-right"></i></a></p>
13
+ </div>
14
+
15
+ <div class="zorem-sidebar__section">
16
+ <h3>More plugins by zorem</h3>
17
+ <?php
18
+ $response = wp_remote_get('https://www.zorem.com/wp-json/pluginlist/v1' );
19
+ if ( is_array( $response ) ) {
20
+ $plugin_list = json_decode($response['body']);
21
+ ?>
22
+ <ul>
23
+ <?php foreach($plugin_list as $plugin){
24
+ if( 'Advanced Shipment Tracking for WooCommerce' != $plugin->title ) {
25
+ ?>
26
+ <li><img class="plugin_thumbnail" src="<?php echo $plugin->image_url; ?>"><a class="plugin_url" href="<?php echo $plugin->url; ?>" target="_blank"><?php echo $plugin->title; ?></a></li>
27
+ <?php }
28
+ }?>
29
+ </ul>
30
+ <?php } ?>
31
+ </div>
32
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lang/woo-advanced-shipment-tracking-bg_BG.mo CHANGED
Binary file
lang/woo-advanced-shipment-tracking-bg_BG.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce Advanced Shipment Tracking\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2019-09-06 11:42+0000\n"
6
- "PO-Revision-Date: 2019-09-06 11:44+0000\n"
7
  "Last-Translator: gaurav <gaurav1092@zorem.com>\n"
8
  "Language-Team: Bulgarian\n"
9
  "Language: bg_BG\n"
@@ -12,9 +12,9 @@ msgstr ""
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
  "X-Generator: Loco https://localise.biz/\n"
15
- "X-Loco-Version: 2.3.0; wp-5.2.3"
16
 
17
- #: woocommerce-advanced-shipment-tracking.php:112
18
  #, php-format
19
  msgid ""
20
  "Please install and activate %sWooCommerce%s for WooCommerce Advanced "
@@ -23,13 +23,13 @@ msgstr ""
23
  "Моля, инсталирайте и активирайте% sWooCommerce% s за усъвършенствано "
24
  "проследяване на пратки в WooCommerce!"
25
 
26
- #. Name of the plugin
27
- #: woocommerce-advanced-shipment-tracking.php:389
28
- msgid "Advanced Shipment Tracking for WooCommerce"
29
  msgstr ""
30
 
31
- #: woocommerce-advanced-shipment-tracking.php:390
32
- #: includes/views/admin_options_settings.php:21
33
  #, php-format
34
  msgid ""
35
  "<strong>PLEASE NOTE</strong> - If you use the custom order status "
@@ -40,488 +40,7 @@ msgid ""
40
  "\"completed\" before deactivating the plugin."
41
  msgstr ""
42
 
43
- #: includes/class-wc-advanced-shipment-tracking-admin.php:209
44
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1144
45
- msgid "Shipped"
46
- msgstr "Доставят"
47
-
48
- #: includes/class-wc-advanced-shipment-tracking-admin.php:226
49
- #, php-format
50
- msgid "Shipped <span class=\"count\">(%s)</span>"
51
- msgid_plural "Shipped <span class=\"count\">(%s)</span>"
52
- msgstr[0] "Доставя се <span class = \"count\"> (% s) </span>"
53
- msgstr[1] "Доставя се <span class = \"count\"> (% s) </span>"
54
-
55
- #: includes/class-wc-advanced-shipment-tracking-admin.php:240
56
- msgid "Change status to shipped"
57
- msgstr "Промяна на състоянието на Изпратена"
58
-
59
- #: includes/class-wc-advanced-shipment-tracking-admin.php:250
60
- #: includes/class-wc-advanced-shipment-tracking-admin.php:279
61
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1594
62
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1785
63
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2190
64
- #: includes/customizer/class-wcast-customizer.php:104
65
- #: includes/customizer/class-wc-delivered-email-customizer.php:115
66
- #: includes/views/admin_options_trackship_integration.php:134
67
- msgid "Delivered"
68
- msgstr "Доставени"
69
-
70
- #: includes/class-wc-advanced-shipment-tracking-admin.php:255
71
- #, php-format
72
- msgid "Delivered <span class=\"count\">(%s)</span>"
73
- msgid_plural "Delivered <span class=\"count\">(%s)</span>"
74
- msgstr[0] "Доставено <span class = \"count\"> (% s) </span>"
75
- msgstr[1] "Доставено <span class = \"count\"> (% s) </span>"
76
-
77
- #: includes/class-wc-advanced-shipment-tracking-admin.php:261
78
- #: includes/class-wc-advanced-shipment-tracking-admin.php:290
79
- msgid "Updated Tracking"
80
- msgstr "Актуализирано проследяване"
81
-
82
- #: includes/class-wc-advanced-shipment-tracking-admin.php:266
83
- #, php-format
84
- msgid "Updated Tracking <span class=\"count\">(%s)</span>"
85
- msgid_plural "Updated Tracking <span class=\"count\">(%s)</span>"
86
- msgstr[0] "Актуализирано проследяване <span class = \"count\"> (% s) </span>"
87
- msgstr[1] "Актуализирано проследяване <span class = \"count\"> (% s) </span>"
88
-
89
- #: includes/class-wc-advanced-shipment-tracking-admin.php:320
90
- msgid "Change status to delivered"
91
- msgstr "Промяна на състоянието на Доставена"
92
-
93
- #: includes/class-wc-advanced-shipment-tracking-admin.php:523
94
- msgid "Shipment status"
95
- msgstr "Състояние на превоза"
96
-
97
- #: includes/class-wc-advanced-shipment-tracking-admin.php:622
98
- msgid ""
99
- "Get Shipment Status is limited to 100 orders at a time, please select up to "
100
- "100 orders."
101
- msgstr ""
102
-
103
- #: includes/class-wc-advanced-shipment-tracking-admin.php:667
104
- msgid "Order"
105
- msgstr "Поръчка"
106
-
107
- #: includes/class-wc-advanced-shipment-tracking-admin.php:668
108
- msgid "Item"
109
- msgstr "Вещ"
110
-
111
- #: includes/class-wc-advanced-shipment-tracking-admin.php:669
112
- msgid "Line Item"
113
- msgstr "Договорена покупка"
114
-
115
- #: includes/class-wc-advanced-shipment-tracking-admin.php:670
116
- msgid "Class"
117
- msgstr "клас"
118
-
119
- #: includes/class-wc-advanced-shipment-tracking-admin.php:671
120
- msgid "Delete the selected rates?"
121
- msgstr "Изтриване на избраните цени?"
122
-
123
- #: includes/class-wc-advanced-shipment-tracking-admin.php:672
124
- msgid "Duplicate the selected rates?"
125
- msgstr "Дали дублира избраните цени?"
126
-
127
- #: includes/class-wc-advanced-shipment-tracking-admin.php:673
128
- msgid "Really want to bulk change all provider status?"
129
- msgstr "Наистина ли искате да промените групово целия статус на доставчика?"
130
-
131
- #: includes/class-wc-advanced-shipment-tracking-admin.php:674
132
- #: includes/views/admin_options_settings.php:26
133
- msgid "Data saved successfully."
134
- msgstr "Данните са запазени успешно."
135
-
136
- #: includes/class-wc-advanced-shipment-tracking-admin.php:675
137
- msgid "Really delete this entry? This will not be undo."
138
- msgstr "Наистина ли да изтриете този запис? Това няма да бъде отменено."
139
-
140
- #: includes/class-wc-advanced-shipment-tracking-admin.php:676
141
- msgid "You can upload only csv file."
142
- msgstr "Можете да качите само csv файл."
143
-
144
- #: includes/class-wc-advanced-shipment-tracking-admin.php:677
145
- msgid "This browser does not support HTML5."
146
- msgstr "Този браузър не поддържа HTML5."
147
-
148
- #: includes/class-wc-advanced-shipment-tracking-admin.php:678
149
- msgid "Please upload a valid CSV file."
150
- msgstr "Моля, качете валиден CSV файл."
151
-
152
- #: includes/class-wc-advanced-shipment-tracking-admin.php:731
153
- #: includes/class-wc-advanced-shipment-tracking-install.php:1587
154
- msgid "Advanced Shipment Tracking"
155
- msgstr ""
156
-
157
- #: includes/class-wc-advanced-shipment-tracking-admin.php:736
158
- msgid "Shipping Providers"
159
- msgstr "Доставка доставчици"
160
-
161
- #: includes/class-wc-advanced-shipment-tracking-admin.php:739
162
- msgid "Settings"
163
- msgstr "Настройки"
164
-
165
- #: includes/class-wc-advanced-shipment-tracking-admin.php:742
166
- msgid "Bulk Upload"
167
- msgstr "Масово качване"
168
-
169
- #: includes/class-wc-advanced-shipment-tracking-admin.php:745
170
- msgid "TrackShip"
171
- msgstr ""
172
-
173
- #: includes/class-wc-advanced-shipment-tracking-admin.php:880
174
- msgid "Connected"
175
- msgstr ""
176
- "свързан\n"
177
-
178
- #: includes/class-wc-advanced-shipment-tracking-admin.php:886
179
- msgid ""
180
- "Auto-track all your shipments, get real-time shipment tracking updates "
181
- "without leaving your stores admin."
182
- msgstr ""
183
- "Автоматично проследявайте всичките си пратки, получавайте актуализации за "
184
- "проследяване на пратки в реално време, без да оставяте администраторите на "
185
- "магазините си.\n"
186
-
187
- #: includes/class-wc-advanced-shipment-tracking-admin.php:889
188
- #, php-format
189
- msgid ""
190
- "You must have account and connect your store to %s in order to activate "
191
- "these advanced features."
192
- msgstr ""
193
- "Трябва да имате профил и да свържете магазина си с% s, за да активирате тези "
194
- "разширени функции.\n"
195
-
196
- #: includes/class-wc-advanced-shipment-tracking-admin.php:892
197
- #, php-format
198
- msgid "50 free Trackers for every new account! Get your %s account now>>"
199
- msgstr ""
200
- "50 безплатни Trackers за всеки нов акаунт! Вземете профила си от% s сега >>\n"
201
-
202
- #: includes/class-wc-advanced-shipment-tracking-admin.php:988
203
- msgid "TrackShip Connection Status"
204
- msgstr "Състояние на връзката към TrackShip"
205
-
206
- #: includes/class-wc-advanced-shipment-tracking-admin.php:995
207
- #: includes/emails/class-shipment-delivered-email.php:226
208
- msgid "Enable/Disable"
209
- msgstr "Включване / Изключване"
210
-
211
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1001
212
- msgid "Set order status Delivered when order is delivered"
213
- msgstr "Задаване на статус на поръчката Доставено при доставка"
214
-
215
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1008
216
- #, php-format
217
- msgid ""
218
- "You have %s %s orders that you can track with TrackShip, you can send these "
219
- "shipments to TrackShip in Bulk."
220
- msgstr ""
221
-
222
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1009
223
- msgid "Get Shipment Status"
224
- msgstr ""
225
-
226
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1047
227
- msgid ""
228
- "You must add the shortcode [wcast-track-order] to the \"page name\" in order "
229
- "for the tracking page to work."
230
- msgstr ""
231
-
232
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1055
233
- msgid "Select Tracking Page"
234
- msgstr ""
235
- "Изберете Страница за проследяване\n"
236
-
237
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1063
238
- #: includes/customizer/class-wc-tracking-page-customizer.php:150
239
- msgid "Remove Trackship branding from tracking page"
240
- msgstr ""
241
- "Премахване на марката „Следи“ от страницата за проследяване\n"
242
-
243
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1069
244
- msgid "Use the tracking page in the customer email/my account tracking link"
245
- msgstr ""
246
- "Използвайте страницата за проследяване в имейла на клиента / връзката за "
247
- "проследяване на профила ми\n"
248
-
249
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1075
250
- msgid "Select primary color for tracking page"
251
- msgstr ""
252
- "Изберете основния цвят за страницата за проследяване\n"
253
-
254
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1081
255
- msgid "Select content border color for tracking page"
256
- msgstr ""
257
- "Изберете цвят на границата на съдържанието за проследяващата страница\n"
258
-
259
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1145
260
- msgid ""
261
- "Default \"mark as <span class=\"shipped_label\">shipped</span>\" checkbox "
262
- "state"
263
- msgstr ""
264
-
265
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1146
266
- msgid ""
267
- "This means that the 'mark as <span class='shipped_label'>shipped</span>' "
268
- "will be selected by default when adding tracking info to orders."
269
- msgstr ""
270
-
271
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1148
272
- msgid "Completed"
273
- msgstr "завършен"
274
-
275
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1149
276
- msgid ""
277
- "Default \"mark as <span class=\"shipped_label\">completed</span>\" checkbox "
278
- "state"
279
- msgstr ""
280
-
281
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1150
282
- msgid ""
283
- "This means that the 'mark as <span class='shipped_label'>completed</span>' "
284
- "will be selected by default when adding tracking info to orders."
285
- msgstr ""
286
-
287
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1156
288
- msgid "Rename the “Completed” Order status to “Shipped”"
289
- msgstr "Преименувайте статуса на „Завършено“ на „Доставено“"
290
-
291
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1169
292
- msgid "On which customer order status email to include tracking info?"
293
- msgstr ""
294
- "Кой имейл за състоянието на поръчката на клиента да включва информация за "
295
- "проследяване?"
296
-
297
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1170
298
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2192
299
- msgid "Cancelled"
300
- msgstr "Отменен"
301
-
302
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1171
303
- msgid "Customer Invoice"
304
- msgstr "Фактура за клиенти"
305
-
306
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1172
307
- msgid "Refunded"
308
- msgstr "Възстановени"
309
-
310
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1173
311
- msgid "Processing"
312
- msgstr "обработване"
313
-
314
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1174
315
- msgid "Failed"
316
- msgstr "Се провали"
317
-
318
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1182
319
- msgid "Show tracking info in Invoice"
320
- msgstr "Показване на информация за проследяване във фактура"
321
-
322
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1188
323
- msgid "Show tracking info in Packing Slip"
324
- msgstr "Показване на информация за проследяване в опаковъчен лист"
325
-
326
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1205
327
- msgid "Enable a New Custom order status - “Delivered”"
328
- msgstr ""
329
- "Активиране на ново състояние на персонализираната поръчка - „Доставено“"
330
-
331
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1206
332
- msgid ""
333
- "if you enable the delivered item, you will have the option to send delivered "
334
- "email notifications."
335
- msgstr ""
336
- "ако активирате доставения елемент, ще имате възможност да изпращате "
337
- "изпратени известия по имейл."
338
-
339
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1212
340
- msgid "Delivered Status Label color"
341
- msgstr "Цвят на етикета за състоянието"
342
-
343
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1218
344
- #: includes/customizer/class-wcast-customizer.php:58
345
- #: includes/customizer/class-wc-email-customizer.php:155
346
- msgid "Delivered order status email"
347
- msgstr "Предоставен е имейл за състоянието на поръчката"
348
-
349
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1219
350
- #: includes/views/admin_options_trackship_integration.php:80
351
- #: includes/views/admin_options_trackship_integration.php:94
352
- #: includes/views/admin_options_trackship_integration.php:108
353
- #: includes/views/admin_options_trackship_integration.php:121
354
- #: includes/views/admin_options_trackship_integration.php:135
355
- #: includes/views/admin_options_trackship_integration.php:150
356
- msgid "Edit"
357
- msgstr "редактиране"
358
-
359
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1236
360
- msgid ""
361
- "Change the \"Delivered\" orders to \"Completed\" when you deactivate the "
362
- "plugin"
363
- msgstr ""
364
- "Когато деактивирате плъгина, променете поръчките „Доставено“ до „Изпълнено“"
365
-
366
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1238
367
- msgid "No, I will use the snippet"
368
- msgstr "Не, ще използвам фрагмента"
369
-
370
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1239
371
- msgid "Yes, change all Delivered orders to Completed"
372
- msgstr "Да, променете всички поръчки за Доставката до Завършени"
373
-
374
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1241
375
- #, php-format
376
- msgid ""
377
- "PLEASE NOTE - If you use the custom order status \"Delivered\", when you "
378
- "deactivate the plugin, you must register this order status in function.php "
379
- "in order to see these orders in the orders admin. You can find the snippet "
380
- "to use in functions.php %s or we can set to change all your \"delivered\" "
381
- "order to \"completed\"."
382
- msgstr ""
383
- "ВНИМАНИЕ - Ако използвате състоянието на поръчката \"Доставено\", когато "
384
- "деактивирате плъгина, трябва да регистрирате състоянието на поръчката в "
385
- "function.php, за да видите тези поръчки в администраторите на поръчките. "
386
- "Можете да намерите фрагмента, който да използвате в functions.php% s или "
387
- "можем да настроим да променим цялата си \"доставена\" поръчка на "
388
- "\"завършена\"."
389
-
390
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1560
391
- msgid "Get shipment status"
392
- msgstr "Получете статус на пратката"
393
-
394
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1588
395
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2187
396
- #: includes/customizer/class-wcast-customizer.php:74
397
- #: includes/customizer/class-wc-intransit-email-customizer.php:115
398
- #: includes/views/admin_options_trackship_integration.php:79
399
- msgid "In Transit"
400
- msgstr "Транзитно"
401
-
402
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1591
403
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2186
404
- #: includes/customizer/class-wcast-customizer.php:66
405
- msgid "Pre Transit"
406
- msgstr "Предварително преминаване"
407
-
408
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1597
409
- msgid "Out for delivery"
410
- msgstr "За доставка"
411
-
412
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1600
413
- #: includes/customizer/class-wcast-customizer.php:89
414
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:116
415
- #: includes/views/admin_options_trackship_integration.php:107
416
- msgid "Available For Pickup"
417
- msgstr "Предлага се за пикап"
418
-
419
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1603
420
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2194
421
- #: includes/customizer/class-wcast-customizer.php:82
422
- #: includes/customizer/class-wc-returntosender-email-customizer.php:116
423
- #: includes/views/admin_options_trackship_integration.php:93
424
- msgid "Return To Sender"
425
- msgstr "Върнете се към подателя"
426
-
427
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1606
428
- msgid "Delivery Failure"
429
- msgstr ""
430
- "Неизпълнение на доставката\n"
431
-
432
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1609
433
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2185
434
- msgid "Unknown"
435
- msgstr ""
436
- "неизвестен\n"
437
-
438
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1612
439
- msgid "Pending TrackShip"
440
- msgstr ""
441
- "В очакване на TrackShip\n"
442
-
443
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1615
444
- msgid "Invalid Tracking"
445
- msgstr ""
446
- "Невалидно проследяване\n"
447
-
448
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1618
449
- msgid "Carrier unsupported"
450
- msgstr "Превозвачът не се поддържа"
451
-
452
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1621
453
- msgid "Invalid User Key"
454
- msgstr ""
455
-
456
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1687
457
- msgid "Resend delivered order notification"
458
- msgstr "Изпратете отново известието за доставената поръчка"
459
-
460
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1745
461
- msgid "Shipped Order"
462
- msgstr "Доставка на поръчка"
463
-
464
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1764
465
- msgid "Mark order as delivered"
466
- msgstr "Маркирайте поръчката като доставена"
467
-
468
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1771
469
- msgid "Add Tracking"
470
- msgstr ""
471
-
472
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1797
473
- msgid "Change order status to"
474
- msgstr "Промяна на състоянието на поръчката на"
475
-
476
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1892
477
- #: includes/views/admin_options_shipping_provider.php:88
478
- #, php-format
479
- msgid "You don't have any %s shipping providers."
480
- msgstr "Нямате доставчици за доставки на% s."
481
-
482
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2145
483
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2157
484
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2169
485
- msgid "view details"
486
- msgstr "Разгледайте детайлите"
487
-
488
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2146
489
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2158
490
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2170
491
- msgid "hide details"
492
- msgstr "скрий подробности"
493
-
494
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2188
495
- msgid "Available for Pickup"
496
- msgstr ""
497
-
498
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2189
499
- msgid "Out for Delivery"
500
- msgstr ""
501
-
502
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2191
503
- #: includes/customizer/class-wcast-customizer.php:112
504
- #: includes/customizer/class-wc-failure-email-customizer.php:113
505
- #: includes/views/admin_options_trackship_integration.php:149
506
- msgid "Failed Attempt"
507
- msgstr "Неуспешен опит"
508
-
509
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2193
510
- msgid "Carrier Unsupported"
511
- msgstr ""
512
-
513
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2195
514
- #: includes/class-wc-advanced-shipment-tracking-front.php:457
515
- #: includes/class-wc-advanced-shipment-tracking-front.php:813
516
- msgid "Invalid Tracking Number"
517
- msgstr ""
518
- "Невалиден номер за проследяване\n"
519
-
520
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2200
521
- msgid "Filter by shipment status"
522
- msgstr ""
523
-
524
- #: includes/class-wc-advanced-shipment-tracking-front.php:138
525
  msgid ""
526
  "To track your order please enter your Order ID in the box below and press "
527
  "the \"Track\" button. This was given to you on your receipt and in the "
@@ -531,189 +50,306 @@ msgstr ""
531
  "долу и натиснете бутона \"Track\". Това ви беше дадено в касовата бележка и "
532
  "в имейла за потвърждение, който трябваше да получите.\n"
533
 
534
- #: includes/class-wc-advanced-shipment-tracking-front.php:139
535
- msgid "Order ID"
536
- msgstr ""
537
- "ID на поръчката\n"
538
-
539
- #: includes/class-wc-advanced-shipment-tracking-front.php:139
540
- #: includes/class-wc-advanced-shipment-tracking-front.php:140
541
  msgid "Found in your order confirmation email."
542
  msgstr ""
543
  "Намерен в имейла за потвърждение на поръчката.\n"
544
 
545
- #: includes/class-wc-advanced-shipment-tracking-front.php:140
546
  msgid "Order Email"
547
  msgstr ""
548
  "Имейл за поръчка\n"
549
 
550
- #: includes/class-wc-advanced-shipment-tracking-front.php:143
551
  #: includes/class-wc-advanced-shipment-tracking.php:260
552
- #: includes/class-wc-advanced-shipment-tracking.php:637
553
- #: includes/class-wc-advanced-shipment-tracking.php:763
554
- #: includes/customizer/class-wc-tracking-info-customizer.php:137
555
- #: includes/customizer/class-wc-tracking-info-customizer.php:381
556
- #: includes/views/html-tracking-info-design-preview.php:69
557
- #: templates/emails/tracking-info.php:152
558
- #: templates/myaccount/view-order.php:123 templates/pip/tracking-info.php:23
559
  msgid "Track"
560
  msgstr "път"
561
 
562
- #: includes/class-wc-advanced-shipment-tracking-front.php:307
563
- #: includes/class-wc-advanced-shipment-tracking-front.php:662
564
  #, php-format
565
  msgid "Shipment - %s (out of %s)"
566
  msgstr ""
567
  "Пратка -% s (от% s)\n"
568
 
569
- #: includes/class-wc-advanced-shipment-tracking-front.php:311
570
- #: includes/class-wc-advanced-shipment-tracking-front.php:666
571
- msgid "Order: "
572
- msgstr "Поръчка:"
573
-
574
- #: includes/class-wc-advanced-shipment-tracking-front.php:320
575
- #: includes/class-wc-advanced-shipment-tracking-front.php:324
576
- #: includes/class-wc-advanced-shipment-tracking-front.php:675
577
- #: includes/class-wc-advanced-shipment-tracking-front.php:679
578
  msgid "Estimated Delivery Date: "
579
  msgstr "Очаквана дата за доставка:"
580
 
581
- #: includes/class-wc-advanced-shipment-tracking-front.php:429
582
- #: includes/class-wc-advanced-shipment-tracking-front.php:785
 
583
  msgid "Tracking Details"
584
  msgstr "Детайли за проследяване"
585
 
586
- #: includes/class-wc-advanced-shipment-tracking-front.php:448
587
- #: includes/class-wc-advanced-shipment-tracking-front.php:804
 
588
  msgid "view more"
589
  msgstr "Виж повече"
590
 
591
- #: includes/class-wc-advanced-shipment-tracking-front.php:449
592
- #: includes/class-wc-advanced-shipment-tracking-front.php:805
 
593
  msgid "view less"
594
  msgstr "вижте по-малко"
595
 
596
- #. esc_html__( '%1$s %2$s.' ),
597
- #: includes/class-wc-advanced-shipment-tracking-install.php:1583
598
- #, php-format
599
- msgid ""
600
- "We added many improvements to %1$s, please help and give us a review :) "
601
- "Thanks!"
602
  msgstr ""
603
- "Добавихме много подобрения към% 1 $ s, моля, помогнете и ни дайте преглед :) "
604
- "Благодаря!"
605
 
606
- #: includes/class-wc-advanced-shipment-tracking.php:93
 
 
 
 
607
  #: includes/class-wc-advanced-shipment-tracking.php:244
608
- #: includes/customizer/class-wcast-customizer.php:30
609
  msgid "Shipment Tracking"
610
  msgstr "Проследяване на пратките"
611
 
612
- #: includes/class-wc-advanced-shipment-tracking.php:179
613
- #: includes/class-wc-advanced-shipment-tracking.php:351
614
- msgid "Change order to Shipped?"
615
- msgstr ""
616
-
617
- #: includes/class-wc-advanced-shipment-tracking.php:181
618
  #: includes/class-wc-advanced-shipment-tracking.php:353
619
- msgid "Change order to Completed?"
620
  msgstr ""
621
 
622
  #: includes/class-wc-advanced-shipment-tracking.php:186
623
- msgid "Add Tracking Number"
 
624
  msgstr ""
625
 
626
  #: includes/class-wc-advanced-shipment-tracking.php:191
627
- #: includes/class-wc-advanced-shipment-tracking.php:369
 
 
 
 
628
  msgid "Provider:"
629
  msgstr "доставчик на:"
630
 
631
- #: includes/class-wc-advanced-shipment-tracking.php:211
632
- #: includes/class-wc-advanced-shipment-tracking.php:407
633
  msgid "Tracking number:"
634
  msgstr "Номер за проследяване:"
635
 
636
- #: includes/class-wc-advanced-shipment-tracking.php:217
637
- #: includes/class-wc-advanced-shipment-tracking.php:415
638
  msgid "Date shipped:"
639
  msgstr "Дата на изпращане:"
640
 
641
- #: includes/class-wc-advanced-shipment-tracking.php:218
642
  #: includes/class-wc-advanced-shipment-tracking.php:221
643
- #: includes/class-wc-advanced-shipment-tracking.php:416
644
- #: includes/class-wc-advanced-shipment-tracking.php:419
645
  msgid "Y-m-d"
646
  msgstr ""
647
 
648
  #: includes/class-wc-advanced-shipment-tracking.php:260
649
- #: templates/pip/tracking-info.php:23
650
  msgid "Click here to track your shipment"
651
  msgstr "Кликнете тук, за да проследите пратката си"
652
 
653
  #. 1: shipping date
654
  #: includes/class-wc-advanced-shipment-tracking.php:268
655
- #: templates/pip/tracking-info.php:29
656
  #, php-format
657
  msgid "Shipped on %s"
658
  msgstr "Изпратено на% s"
659
 
660
- #: includes/class-wc-advanced-shipment-tracking.php:269
661
- msgid "Delete"
662
- msgstr "Изтрий"
663
-
664
- #: includes/class-wc-advanced-shipment-tracking.php:365
665
  msgid "Add Tracking Info"
666
  msgstr "Добавяне на информация за проследяване"
667
 
668
- #: includes/class-wc-advanced-shipment-tracking.php:370
669
  msgid "Select Provider"
670
  msgstr "Изберете Доставчик"
671
 
672
- #: includes/class-wc-advanced-shipment-tracking.php:430
673
  msgid "Save Tracking"
674
  msgstr "Запазване на проследяването"
675
 
676
- #: includes/class-wc-advanced-shipment-tracking.php:431
677
  msgid "Preview:"
678
  msgstr "Преглед:"
679
 
680
- #: includes/class-wc-advanced-shipment-tracking.php:431
681
- msgid "Click here to track shipment"
682
- msgstr "Кликнете тук, за да проследите пратката"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
683
 
684
- #: includes/customizer/class-wcast-customizer.php:39
 
 
 
 
685
  msgid "Shipment Status Emails"
686
  msgstr "Имейли за състоянието на пратката"
687
 
688
- #: includes/customizer/class-wcast-customizer.php:50
689
  msgid "Tracking info display"
690
  msgstr ""
691
  "Показване на информация за проследяване\n"
692
 
693
- #: includes/customizer/class-wcast-customizer.php:51
694
- msgid "This section lets you customize the Tracking Info display design."
 
 
 
 
 
 
695
  msgstr ""
696
- "Този раздел ви позволява да персонализирате дизайна на дисплея с информация "
697
- "за проследяване."
698
 
699
- #: includes/customizer/class-wcast-customizer.php:96
700
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:115
701
- #: includes/views/admin_options_trackship_integration.php:120
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
702
  msgid "Out For Delivery"
703
  msgstr ""
704
  "За доставка\n"
705
 
706
- #: includes/customizer/class-wcast-customizer.php:352
 
 
 
 
 
 
 
 
 
 
 
 
707
  msgid "Select order to preview"
708
  msgstr ""
709
  "Изберете поръчка за визуализация\n"
710
 
711
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:115
712
  msgid "Your order #{order_number} is available for pickup"
713
  msgstr ""
714
  "Вашата поръчка # {order_number} е достъпна за приемане\n"
715
 
716
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:117
717
  msgid ""
718
  "Hi there. we thought you'd like to know that your recent order from "
719
  "{site_title} is available for pickup."
@@ -721,225 +357,189 @@ msgstr ""
721
  "Здрасти. решихме, че искате да знаете, че скорошната Ви поръчка от "
722
  "{site_title} е достъпна за приемане."
723
 
724
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:148
725
  msgid "Available For Pickup shipment status email"
726
  msgstr ""
727
  "Наличен за статус на пратка за доставка\n"
728
 
729
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:149
730
- #: includes/customizer/class-wc-delivered-email-customizer.php:148
731
- #: includes/customizer/class-wc-email-customizer.php:156
732
- #: includes/customizer/class-wc-failure-email-customizer.php:145
733
- #: includes/customizer/class-wc-intransit-email-customizer.php:147
734
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:148
735
- #: includes/customizer/class-wc-returntosender-email-customizer.php:149
 
736
  msgid "This section lets you customize the Email Content."
737
  msgstr ""
738
  "Този раздел ви позволява да персонализирате съдържанието на електронната "
739
  "поща."
740
 
741
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:163
742
  msgid "Enable Available For Pickup shipment status email"
743
  msgstr ""
744
  "Активиране на имейла за статуса на пратката на разположение за получаване"
745
 
746
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:179
747
- #: includes/customizer/class-wc-delivered-email-customizer.php:178
748
- #: includes/customizer/class-wc-email-customizer.php:189
749
- #: includes/customizer/class-wc-failure-email-customizer.php:175
750
- #: includes/customizer/class-wc-intransit-email-customizer.php:178
751
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:178
752
- #: includes/customizer/class-wc-returntosender-email-customizer.php:179
753
- #: includes/customizer/class-wc-tracking-info-customizer.php:161
 
754
  msgid "Preview order"
755
  msgstr ""
756
  "Преглед на поръчката\n"
757
 
758
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:200
759
- #: includes/customizer/class-wc-delivered-email-customizer.php:199
760
- #: includes/customizer/class-wc-failure-email-customizer.php:196
761
- #: includes/customizer/class-wc-intransit-email-customizer.php:199
762
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:199
763
- #: includes/customizer/class-wc-returntosender-email-customizer.php:200
764
- msgid "To"
765
- msgstr "Да се"
766
-
767
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:201
768
- #: includes/customizer/class-wc-delivered-email-customizer.php:200
769
- #: includes/customizer/class-wc-failure-email-customizer.php:197
770
- #: includes/customizer/class-wc-intransit-email-customizer.php:200
771
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:200
772
- #: includes/customizer/class-wc-returntosender-email-customizer.php:201
773
- msgid ""
774
- "Enter emails here or use variables such as {customer_email}. Multiple emails "
775
- "can be separated by commas."
776
- msgstr ""
777
- "Въведете имейли тук или използвайте променливи като {customer_email}. "
778
- "Няколко имейла могат да бъдат разделени със запетаи."
779
-
780
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:207
781
- #: includes/customizer/class-wc-delivered-email-customizer.php:206
782
- #: includes/customizer/class-wc-email-customizer.php:218
783
- #: includes/customizer/class-wc-failure-email-customizer.php:203
784
- #: includes/customizer/class-wc-intransit-email-customizer.php:206
785
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:206
786
- #: includes/customizer/class-wc-returntosender-email-customizer.php:207
787
  msgid "E.g. {customer.email}, admin@example.org"
788
  msgstr "E.g. {customer.email}, admin@example.org"
789
 
790
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:222
791
- #: includes/customizer/class-wc-delivered-email-customizer.php:221
792
- #: includes/customizer/class-wc-email-customizer.php:234
793
- #: includes/customizer/class-wc-failure-email-customizer.php:218
794
- #: includes/customizer/class-wc-intransit-email-customizer.php:221
795
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:221
796
- #: includes/customizer/class-wc-returntosender-email-customizer.php:222
797
- msgid "Email subject"
798
- msgstr "Тема по имейл"
799
-
800
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:223
801
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:245
802
- #: includes/customizer/class-wc-delivered-email-customizer.php:222
803
- #: includes/customizer/class-wc-delivered-email-customizer.php:244
804
- #: includes/customizer/class-wc-failure-email-customizer.php:219
805
- #: includes/customizer/class-wc-failure-email-customizer.php:241
806
- #: includes/customizer/class-wc-intransit-email-customizer.php:222
807
- #: includes/customizer/class-wc-intransit-email-customizer.php:244
808
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:222
809
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:244
810
- #: includes/customizer/class-wc-returntosender-email-customizer.php:223
811
- #: includes/customizer/class-wc-returntosender-email-customizer.php:245
812
  msgid "Available placeholders: {site_title}, {order_number}"
813
  msgstr "Налични резерви: {site_title}, {order_number}"
814
 
815
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:229
816
- #: includes/customizer/class-wc-delivered-email-customizer.php:228
817
- #: includes/customizer/class-wc-email-customizer.php:241
818
- #: includes/customizer/class-wc-failure-email-customizer.php:225
819
- #: includes/customizer/class-wc-intransit-email-customizer.php:228
820
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:228
821
- #: includes/customizer/class-wc-returntosender-email-customizer.php:229
 
822
  msgid "Please enter email subject here"
823
  msgstr "Моля, въведете тук имейл"
824
 
825
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:244
826
- #: includes/customizer/class-wc-delivered-email-customizer.php:243
827
- #: includes/customizer/class-wc-email-customizer.php:257
828
- #: includes/customizer/class-wc-failure-email-customizer.php:240
829
- #: includes/customizer/class-wc-intransit-email-customizer.php:243
830
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:243
831
- #: includes/customizer/class-wc-returntosender-email-customizer.php:244
832
- #: includes/emails/class-shipment-delivered-email.php:250
833
- msgid "Email heading"
834
- msgstr "Заглавие на имейла"
835
-
836
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:251
837
- #: includes/customizer/class-wc-delivered-email-customizer.php:250
838
- #: includes/customizer/class-wc-email-customizer.php:264
839
- #: includes/customizer/class-wc-failure-email-customizer.php:247
840
- #: includes/customizer/class-wc-intransit-email-customizer.php:250
841
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:250
842
- #: includes/customizer/class-wc-returntosender-email-customizer.php:251
843
  msgid "Please enter email heading here"
844
  msgstr "Моля, въведете имейл адреса тук"
845
 
846
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:266
847
- #: includes/customizer/class-wc-delivered-email-customizer.php:265
848
- #: includes/customizer/class-wc-failure-email-customizer.php:262
849
- #: includes/customizer/class-wc-intransit-email-customizer.php:265
850
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:265
851
- #: includes/customizer/class-wc-returntosender-email-customizer.php:266
852
  msgid "Show tracking details"
853
  msgstr ""
854
  "Показване на подробности за проследяването\n"
855
 
856
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:282
857
- #: includes/customizer/class-wc-delivered-email-customizer.php:281
858
- #: includes/customizer/class-wc-failure-email-customizer.php:278
859
- #: includes/customizer/class-wc-intransit-email-customizer.php:281
860
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:281
861
- #: includes/customizer/class-wc-returntosender-email-customizer.php:282
862
  msgid "Show order details"
863
  msgstr ""
864
  "Показване на подробности за поръчката\n"
865
 
866
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:298
867
- #: includes/customizer/class-wc-delivered-email-customizer.php:297
868
- #: includes/customizer/class-wc-failure-email-customizer.php:294
869
- #: includes/customizer/class-wc-intransit-email-customizer.php:297
870
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:297
871
- #: includes/customizer/class-wc-returntosender-email-customizer.php:298
872
  msgid "Show billing address"
873
  msgstr ""
874
  "Показване на адрес за фактуриране\n"
875
 
876
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:315
877
- #: includes/customizer/class-wc-delivered-email-customizer.php:314
878
- #: includes/customizer/class-wc-failure-email-customizer.php:311
879
- #: includes/customizer/class-wc-intransit-email-customizer.php:314
880
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:314
881
- #: includes/customizer/class-wc-returntosender-email-customizer.php:315
882
  msgid "Show shipping address"
883
  msgstr ""
884
  "Показване на адреса за доставка\n"
885
 
886
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:331
887
- #: includes/customizer/class-wc-delivered-email-customizer.php:330
888
- #: includes/customizer/class-wc-email-customizer.php:384
889
- #: includes/customizer/class-wc-failure-email-customizer.php:327
890
- #: includes/customizer/class-wc-intransit-email-customizer.php:350
891
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:330
892
- #: includes/customizer/class-wc-returntosender-email-customizer.php:331
893
  msgid "Google Analytics link tracking"
894
  msgstr ""
895
 
896
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:332
897
- #: includes/customizer/class-wc-delivered-email-customizer.php:331
898
- #: includes/customizer/class-wc-failure-email-customizer.php:328
899
- #: includes/customizer/class-wc-intransit-email-customizer.php:351
900
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:331
901
- #: includes/customizer/class-wc-returntosender-email-customizer.php:332
902
  msgid "This will be appended to URL in the email content"
903
  msgstr ""
904
 
905
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:353
906
- #: includes/customizer/class-wc-delivered-email-customizer.php:352
907
- #: includes/customizer/class-wc-email-customizer.php:280
908
- #: includes/customizer/class-wc-failure-email-customizer.php:349
909
- #: includes/customizer/class-wc-intransit-email-customizer.php:331
910
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:352
911
- #: includes/customizer/class-wc-returntosender-email-customizer.php:353
 
912
  msgid "Email content"
913
  msgstr "Съдържание на имейла"
914
 
915
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:372
916
- #: includes/customizer/class-wc-delivered-email-customizer.php:372
917
- #: includes/customizer/class-wc-email-customizer.php:405
918
- #: includes/customizer/class-wc-failure-email-customizer.php:369
919
- #: includes/customizer/class-wc-intransit-email-customizer.php:372
920
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:372
921
- #: includes/customizer/class-wc-returntosender-email-customizer.php:373
 
922
  msgid "Available placeholders"
923
  msgstr ""
924
  "Налични места\n"
925
 
926
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:416
927
- #: includes/customizer/class-wc-delivered-email-customizer.php:416
928
- #: includes/customizer/class-wc-email-customizer.php:437
929
- #: includes/customizer/class-wc-failure-email-customizer.php:412
930
- #: includes/customizer/class-wc-intransit-email-customizer.php:415
931
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:415
932
- #: includes/customizer/class-wc-returntosender-email-customizer.php:417
933
- #: includes/customizer/class-wc-tracking-info-customizer.php:730
934
- msgid "Please select preview order."
 
935
  msgstr ""
936
- "Моля, изберете поръчка за предварителен преглед.\n"
937
 
938
- #: includes/customizer/class-wc-delivered-email-customizer.php:114
939
  msgid "Your order #{order_number} has been delivered"
940
  msgstr ""
941
 
942
- #: includes/customizer/class-wc-delivered-email-customizer.php:116
 
943
  msgid ""
944
  "Hi there. we thought you'd like to know that your recent order from "
945
  "{site_title} has been Delivered."
@@ -947,92 +547,75 @@ msgstr ""
947
  "Здрасти. решихме, че искате да знаете, че скорошната Ви поръчка от "
948
  "{site_title} е била Доставена."
949
 
950
- #: includes/customizer/class-wc-delivered-email-customizer.php:147
951
  msgid "Delivered shipment status email"
952
  msgstr "Предоставен е имейл за състоянието на пратката"
953
 
954
- #: includes/customizer/class-wc-delivered-email-customizer.php:162
955
  msgid "Enable Delivered shipment status email"
956
  msgstr "Активиране на имейла за състоянието на доставената пратка"
957
 
958
- #: includes/customizer/class-wc-email-customizer.php:122
959
- #: includes/emails/class-shipment-delivered-email.php:92
960
  msgid "Your {site_title} order is now delivered"
961
  msgstr "Поръчката ви {site_title} вече е доставена"
962
 
963
- #: includes/customizer/class-wc-email-customizer.php:123
964
- #: includes/emails/class-shipment-delivered-email.php:102
965
- msgid "Thanks for shopping with us"
966
- msgstr ""
967
- "Благодаря, че пазарувате с нас\n"
968
-
969
- #: includes/customizer/class-wc-email-customizer.php:124
970
- msgid "Hi there. Your recent order on {site_title} has been delivered."
971
- msgstr ""
972
- "Здрасти. Вашата скорошна поръчка на {site_title} е доставена.\n"
973
-
974
- #: includes/customizer/class-wc-email-customizer.php:171
975
  msgid "Enable Delivered order status email"
976
  msgstr "Активиране на имейл съобщението за състоянието на поръчката"
977
 
978
- #: includes/customizer/class-wc-email-customizer.php:193
979
- #: includes/customizer/class-wc-tracking-info-customizer.php:165
 
980
  msgid "Please select a order..."
981
  msgstr ""
982
  "Моля, изберете поръчка ...\n"
983
 
984
- #: includes/customizer/class-wc-email-customizer.php:211
985
- msgid "Receipts"
986
- msgstr ""
987
-
988
- #: includes/customizer/class-wc-email-customizer.php:212
989
- msgid ""
990
- "Enter emails use variables such as {customer_email}. Multiple emails can be "
991
- "separated by commas."
992
- msgstr ""
993
-
994
- #: includes/customizer/class-wc-email-customizer.php:235
995
- #: includes/customizer/class-wc-email-customizer.php:258
996
  msgid "Available variables: {site_title}, {order_number}"
997
  msgstr ""
998
 
999
- #: includes/customizer/class-wc-email-customizer.php:281
 
1000
  msgid ""
1001
  "available variables: {site_title}, {customer_email}, {customer_first_name}, "
1002
  "{customer_last_name}, {customer_username}, {order_number}"
1003
  msgstr ""
1004
 
1005
- #: includes/customizer/class-wc-email-customizer.php:300
1006
  msgid "Display tracking details"
1007
  msgstr ""
1008
 
1009
- #: includes/customizer/class-wc-email-customizer.php:316
1010
  msgid "Display order details"
1011
  msgstr ""
1012
 
1013
- #: includes/customizer/class-wc-email-customizer.php:333
1014
  msgid "Display Shipping Address"
1015
  msgstr ""
1016
 
1017
- #: includes/customizer/class-wc-email-customizer.php:350
1018
  msgid "Display Billing Address"
1019
  msgstr ""
1020
 
1021
- #: includes/customizer/class-wc-email-customizer.php:367
1022
  msgid "Enable Google Analytics tracking"
1023
  msgstr ""
1024
 
1025
- #: includes/customizer/class-wc-email-customizer.php:385
1026
  msgid ""
1027
  "This will be appended to URL in the email content – e.g. "
1028
  "utm_source=ast&utm_medium=email&utm_campaign=delivered"
1029
  msgstr ""
1030
 
1031
- #: includes/customizer/class-wc-failure-email-customizer.php:112
1032
  msgid "Your order #{order_number} is Failed Attempt"
1033
  msgstr "Вашата поръчка № {order_number} е неуспешен опит"
1034
 
1035
- #: includes/customizer/class-wc-failure-email-customizer.php:114
1036
  msgid ""
1037
  "Hi there. we thought you'd like to know that your recent order from "
1038
  "{site_title} is Failed Attempt"
@@ -1040,20 +623,20 @@ msgstr ""
1040
  "Здрасти. решихме, че бихте искали да знаете, че скорошната ви поръчка от "
1041
  "{site_title} е неуспешен опит"
1042
 
1043
- #: includes/customizer/class-wc-failure-email-customizer.php:144
1044
  msgid "Failed Attempt shipment status email"
1045
  msgstr "Неуспешен опит за опит за изпращане на имейл"
1046
 
1047
- #: includes/customizer/class-wc-failure-email-customizer.php:159
1048
  msgid "Enable Failed Attempt shipment status email"
1049
  msgstr "Активирайте имейла за неуспешен опит за пратка"
1050
 
1051
- #: includes/customizer/class-wc-intransit-email-customizer.php:114
1052
  msgid "Your order #{order_number} is in transit"
1053
  msgstr ""
1054
  "Вашата поръчка # {order_number} е в транзит\n"
1055
 
1056
- #: includes/customizer/class-wc-intransit-email-customizer.php:116
1057
  msgid ""
1058
  "Hi there. we thought you'd like to know that your recent order from "
1059
  "{site_title} is in transit"
@@ -1061,21 +644,21 @@ msgstr ""
1061
  "Здрасти. решихме, че искате да знаете, че скорошната ви поръчка от "
1062
  "{site_title} е в транзит"
1063
 
1064
- #: includes/customizer/class-wc-intransit-email-customizer.php:146
1065
  msgid "In Transit shipment status email"
1066
  msgstr ""
1067
  "Електронна поща за статуса на транзитния транзит\n"
1068
 
1069
- #: includes/customizer/class-wc-intransit-email-customizer.php:161
1070
  msgid "Enable In Transit shipment status email"
1071
  msgstr "Активиране на имейла за статуса на пратка в транзит"
1072
 
1073
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:114
1074
  msgid "Your order #{order_number} is out for delivery"
1075
  msgstr ""
1076
  "Вашата поръчка # {order_number} е за доставка\n"
1077
 
1078
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:116
1079
  msgid ""
1080
  "Hi there. we thought you'd like to know that your recent order from "
1081
  "{site_title} is out for delivery."
@@ -1083,21 +666,21 @@ msgstr ""
1083
  "Здрасти. решихме, че искате да знаете, че скорошната ви поръчка от "
1084
  "{site_title} е за доставка.\n"
1085
 
1086
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:147
1087
  msgid "Out For Delivery shipment status email"
1088
  msgstr "Out за доставка на пратка статус имейл"
1089
 
1090
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:162
1091
  msgid "Enable Out For Delivery shipment status email"
1092
  msgstr ""
1093
  "Активиране на имейла за състоянието на пратката за доставка\n"
1094
 
1095
- #: includes/customizer/class-wc-returntosender-email-customizer.php:115
1096
  msgid "Your order #{order_number} has returned to sender"
1097
  msgstr ""
1098
  "Вашата поръчка # {order_number} се върна на подателя\n"
1099
 
1100
- #: includes/customizer/class-wc-returntosender-email-customizer.php:117
1101
  msgid ""
1102
  "Hi there. we thought you'd like to know that your recent order from "
1103
  "{site_title} has been returned to sender."
@@ -1105,36 +688,35 @@ msgstr ""
1105
  "Здрасти. смятаме, че искате да знаете, че скорошната Ви поръчка от "
1106
  "{site_title} е върната на подателя.\n"
1107
 
1108
- #: includes/customizer/class-wc-returntosender-email-customizer.php:148
1109
  msgid "Return To Sender shipment status email"
1110
  msgstr "Връщане в имейла за състоянието на пратката на подателя"
1111
 
1112
- #: includes/customizer/class-wc-returntosender-email-customizer.php:163
1113
  msgid "Enable Return To Sender shipment status email"
1114
  msgstr "Активиране на имейла за състоянието на изпращане на изпращача"
1115
 
1116
- #: includes/customizer/class-wc-tracking-info-customizer.php:134
1117
- #: includes/customizer/class-wc-tracking-info-customizer.php:301
1118
- #: includes/views/html-tracking-info-design-preview.php:45
1119
- #: templates/emails/tracking-info.php:110 templates/myaccount/view-order.php:89
1120
  msgid "Provider"
1121
  msgstr "доставчик"
1122
 
1123
- #: includes/customizer/class-wc-tracking-info-customizer.php:135
1124
- #: includes/customizer/class-wc-tracking-info-customizer.php:323
1125
- #: includes/views/html-tracking-info-design-preview.php:46
1126
- #: templates/emails/tracking-info.php:134
1127
- #: templates/myaccount/view-order.php:111
1128
  msgid "Tracking Number"
1129
  msgstr "Номер за проследяване"
1130
 
1131
- #: includes/customizer/class-wc-tracking-info-customizer.php:136
1132
- #: includes/customizer/class-wc-tracking-info-customizer.php:344
1133
  msgid "Shipped Date"
1134
  msgstr ""
1135
  "Дата на изпращане\n"
1136
 
1137
- #: includes/customizer/class-wc-tracking-info-customizer.php:162
1138
  msgid ""
1139
  "select from last 20 orders one order that you added tracking info in order "
1140
  "to preview and design the tracking info table."
@@ -1143,191 +725,157 @@ msgstr ""
1143
  "информация за проследяване, за да визуализирате и проектирате "
1144
  "информационната таблица за проследяване.\n"
1145
 
1146
- #: includes/customizer/class-wc-tracking-info-customizer.php:182
 
 
 
 
 
 
1147
  msgid "Tracking Display Position"
1148
  msgstr "Проследяване на позицията на дисплея"
1149
 
1150
- #: includes/customizer/class-wc-tracking-info-customizer.php:186
1151
  msgid "Before Order Details"
1152
  msgstr "Преди подробности за поръчката"
1153
 
1154
- #: includes/customizer/class-wc-tracking-info-customizer.php:187
1155
  msgid "After Order Details"
1156
  msgstr "След подробности за поръчката"
1157
 
1158
- #: includes/customizer/class-wc-tracking-info-customizer.php:202
1159
  msgid "Main Header text"
1160
  msgstr "Текст на основния заглавие"
1161
 
1162
- #: includes/customizer/class-wc-tracking-info-customizer.php:209
1163
- #: templates/pip/tracking-info.php:17
1164
  msgid "Tracking Information"
1165
  msgstr "Информация за проследяване"
1166
 
1167
- #: includes/customizer/class-wc-tracking-info-customizer.php:224
1168
  msgid "Additional text after header"
1169
  msgstr "Допълнителен текст след заглавието"
1170
 
1171
- #: includes/customizer/class-wc-tracking-info-customizer.php:245
1172
- msgid "Table Layout"
1173
- msgstr "Оформление на таблицата"
1174
 
1175
- #: includes/customizer/class-wc-tracking-info-customizer.php:260
1176
  msgid "Display Shipment Provider image"
1177
  msgstr "Покажи изображението на доставчика на пратка"
1178
 
1179
- #: includes/customizer/class-wc-tracking-info-customizer.php:277
1180
  msgid "Hide date"
1181
  msgstr "Скриване на дата"
1182
 
1183
- #: includes/customizer/class-wc-tracking-info-customizer.php:294
 
 
 
 
 
 
 
 
1184
  msgid "Provider Header Text"
1185
  msgstr "Текст на заглавката на доставчика"
1186
 
1187
- #: includes/customizer/class-wc-tracking-info-customizer.php:316
1188
  msgid "Tracking Number Header Text"
1189
  msgstr "Текст на заглавния номер на проследяването"
1190
 
1191
- #: includes/customizer/class-wc-tracking-info-customizer.php:337
1192
  msgid "Shipped Date Header Text"
1193
  msgstr "Текст на заглавката на датата"
1194
 
1195
- #: includes/customizer/class-wc-tracking-info-customizer.php:358
1196
  msgid "Track Label"
1197
  msgstr "Етикет за проследяване"
1198
 
1199
- #: includes/customizer/class-wc-tracking-info-customizer.php:374
1200
  msgid "Track Header Text"
1201
  msgstr "Текст на заглавието на трака"
1202
 
1203
- #: includes/customizer/class-wc-tracking-info-customizer.php:396
 
 
 
 
 
 
 
 
1204
  msgid "Table Design"
1205
  msgstr ""
1206
  "Изображение на доставчика\n"
1207
 
1208
- #: includes/customizer/class-wc-tracking-info-customizer.php:411
1209
  msgid "Padding"
1210
  msgstr ""
1211
  "подложка\n"
1212
 
1213
- #: includes/customizer/class-wc-tracking-info-customizer.php:431
1214
  msgid "Background color"
1215
  msgstr "Цвят на фона"
1216
 
1217
- #: includes/customizer/class-wc-tracking-info-customizer.php:459
1218
  msgid "Border color"
1219
  msgstr "Цвят на границата"
1220
 
1221
- #: includes/customizer/class-wc-tracking-info-customizer.php:475
1222
  msgid "Border size"
1223
  msgstr "Размер на границата"
1224
 
1225
- #: includes/customizer/class-wc-tracking-info-customizer.php:479
1226
- #: includes/customizer/class-wc-tracking-info-customizer.php:503
1227
- #: includes/customizer/class-wc-tracking-info-customizer.php:511
1228
- msgid "Select"
1229
- msgstr "Изберете"
1230
-
1231
- #: includes/customizer/class-wc-tracking-info-customizer.php:499
1232
  msgid "Table text align"
1233
  msgstr "Подравняване на текста на таблицата"
1234
 
1235
- #: includes/customizer/class-wc-tracking-info-customizer.php:504
1236
- msgid "Left"
1237
- msgstr ""
1238
- "Наляво\n"
1239
-
1240
- #: includes/customizer/class-wc-tracking-info-customizer.php:505
1241
- msgid "Right"
1242
- msgstr ""
1243
- "прав\n"
1244
-
1245
- #: includes/customizer/class-wc-tracking-info-customizer.php:506
1246
- msgid "Center"
1247
- msgstr "център"
1248
-
1249
- #: includes/customizer/class-wc-tracking-info-customizer.php:525
1250
- msgid "Table header font size"
1251
- msgstr "Размер на шрифта на заглавката на таблицата"
1252
-
1253
- #: includes/customizer/class-wc-tracking-info-customizer.php:544
1254
- msgid "Table header font color"
1255
- msgstr "Цвят на шрифта на заглавката на таблицата"
1256
-
1257
- #: includes/customizer/class-wc-tracking-info-customizer.php:560
1258
  msgid "Table content font size"
1259
  msgstr "Размер на шрифта на съдържанието на таблицата"
1260
 
1261
- #: includes/customizer/class-wc-tracking-info-customizer.php:577
1262
  msgid "Table content font color"
1263
  msgstr "Цвят на шрифта на съдържанието на таблицата"
1264
 
1265
- #: includes/customizer/class-wc-tracking-info-customizer.php:593
1266
  msgid "Content line height"
1267
  msgstr ""
1268
  "Височина на линията на съдържанието\n"
1269
 
1270
- #: includes/customizer/class-wc-tracking-info-customizer.php:614
1271
  msgid "Content font weight"
1272
  msgstr ""
1273
  "Тегло на шрифта на съдържанието\n"
1274
 
1275
- #: includes/customizer/class-wc-tracking-info-customizer.php:636
1276
- msgid "Track Link"
1277
- msgstr "Проследяване на връзката"
1278
 
1279
- #: includes/customizer/class-wc-tracking-info-customizer.php:650
1280
  msgid "Track Link Font Color"
1281
  msgstr "Цвят на шрифта за връзка"
1282
 
1283
- #: includes/customizer/class-wc-tracking-info-customizer.php:666
1284
  msgid "Track Link Background Color"
1285
  msgstr "Цвят на фона на проследяване на връзката"
1286
 
1287
- #: includes/customizer/class-wc-tracking-info-customizer.php:681
1288
  msgid "Track link Border"
1289
  msgstr "Проследяване на връзката Граница"
1290
 
1291
- #: includes/customizer/class-wc-tracking-page-customizer.php:167
1292
- msgid "Header Color"
1293
- msgstr ""
1294
- "Цвят на заглавката\n"
1295
-
1296
- #: includes/customizer/class-wc-tracking-page-customizer.php:183
1297
- msgid "Success Status Color"
1298
  msgstr ""
1299
- "Цвят на състоянието на успеха\n"
1300
 
1301
- #: includes/customizer/class-wc-tracking-page-customizer.php:199
1302
- msgid "Warning Status Color"
1303
- msgstr ""
1304
- "Цвят на предупредителния статус\n"
1305
-
1306
- #: includes/customizer/class-wc-tracking-page-customizer.php:215
1307
- msgid "Tracking info Border Color"
1308
  msgstr ""
1309
- "Информация за проследяване Цвят на границата\n"
1310
 
1311
- #: includes/customizer/class-wc-tracking-page-customizer.php:230
1312
- msgid "Tracking info width (px)"
1313
  msgstr ""
1314
- "Ширина на информацията за проследяване (px)\n"
1315
-
1316
- #: includes/customizer/class-wc-tracking-page-customizer.php:250
1317
- msgid "Tracking details Border Color"
1318
- msgstr "Подробности за проследяване Цвят на рамката"
1319
-
1320
- #: includes/customizer/class-wc-tracking-page-customizer.php:265
1321
- msgid "Tracking info table shade color"
1322
- msgstr "Цвят на сенчестата таблица с информация"
1323
-
1324
- #: includes/customizer/class-wc-tracking-page-customizer.php:280
1325
- msgid "Tracking events font color"
1326
- msgstr "Цвят на шрифта за проследяване на събития"
1327
-
1328
- #: includes/customizer/class-wc-tracking-page-customizer.php:295
1329
- msgid "Tracking info table margin top/bottom(px)"
1330
- msgstr "Област на информационната таблица за проследяване отгоре / отдолу (px)"
1331
 
1332
  #: includes/emails/class-shipment-delivered-email.php:32
1333
  msgid "Delivered order"
@@ -1339,52 +887,19 @@ msgid ""
1339
  "delivered and usually indicate that their orders have been shipped."
1340
  msgstr ""
1341
 
1342
- #: includes/emails/class-shipment-delivered-email.php:228
1343
- msgid "Enable this email notification"
1344
- msgstr ""
1345
-
1346
- #: includes/emails/class-shipment-delivered-email.php:232
1347
- msgid "Recipient(s)"
1348
- msgstr ""
1349
-
1350
- #. %s: WP admin email
1351
- #: includes/emails/class-shipment-delivered-email.php:235
1352
- #, php-format
1353
- msgid "Enter recipients (comma separated) for this email. Defaults to %s."
1354
- msgstr ""
1355
-
1356
- #: includes/emails/class-shipment-delivered-email.php:241
1357
- msgid "Subject"
1358
- msgstr ""
1359
-
1360
- #. %s: list of placeholders
1361
- #: includes/emails/class-shipment-delivered-email.php:245
1362
- #: includes/emails/class-shipment-delivered-email.php:254
1363
- #, php-format
1364
- msgid "Available placeholders: %s"
1365
- msgstr ""
1366
-
1367
- #: includes/emails/class-shipment-delivered-email.php:259
1368
- msgid "Email type"
1369
- msgstr ""
1370
-
1371
- #: includes/emails/class-shipment-delivered-email.php:261
1372
- msgid "Choose which format of email to send."
1373
  msgstr ""
1374
 
1375
- #: includes/emails/class-shipment-delivered-email.php:269
1376
- msgid "\" >Click Here</a>"
1377
- msgstr ""
1378
-
1379
- #: includes/emails/class-shipment-delivered-email.php:270
1380
  msgid "Edit in customizer"
1381
  msgstr ""
1382
 
1383
- #: includes/views/admin_options_bulk_upload.php:5
1384
  msgid "Upload CSV"
1385
  msgstr "Качете CSV"
1386
 
1387
- #: includes/views/admin_options_bulk_upload.php:15
1388
  msgid ""
1389
  "Replace tracking info if exists? (if not checked, the tracking info will be "
1390
  "added)"
@@ -1392,155 +907,191 @@ msgstr ""
1392
  "Да се ​​промени ли информацията за проследяване, ако съществува? (ако не е "
1393
  "отметнато, информацията за проследяване ще бъде добавена)"
1394
 
1395
- #: includes/views/admin_options_bulk_upload.php:25
1396
- #: includes/views/admin_options_shipping_provider.php:112
1397
- #: includes/views/admin_options_shipping_provider.php:146
1398
  msgid "Upload"
1399
  msgstr "Качи"
1400
 
1401
- #: includes/views/admin_options_bulk_upload.php:28
1402
- #: includes/views/admin_options_trackship_integration.php:27
1403
- #: includes/views/admin_options_trackship_integration.php:45
1404
  msgid "Settings Saved."
1405
  msgstr "Настройките са запазени."
1406
 
1407
- #: includes/views/admin_options_bulk_upload.php:34
 
 
 
 
 
 
 
 
1408
  msgid "You can download an example of the csv file:"
1409
  msgstr "Можете да изтеглите пример за csv файл:"
1410
 
1411
- #: includes/views/admin_options_bulk_upload.php:35
1412
  msgid "Download sample csv file"
1413
  msgstr "Изтеглете примерния файл csv"
1414
 
1415
- #: includes/views/admin_options_bulk_upload.php:36
1416
  msgid ""
1417
  "For detailed instructions on how to upload tracking info in bulk, see our"
1418
  msgstr ""
1419
  "За подробни инструкции за това как да качите информация за проследяване в "
1420
  "насипно състояние, вижте нашата"
1421
 
1422
- #: includes/views/admin_options_bulk_upload.php:36
1423
- msgid "documentation"
1424
- msgstr "документация"
 
 
 
 
1425
 
1426
- #: includes/views/admin_options_bulk_upload.php:38
1427
- msgid "Upload Progress - "
1428
- msgstr "Качване на напредъка -"
1429
 
1430
- #: includes/views/admin_options_settings.php:7
1431
- #: includes/views/admin_options_trackship_integration.php:10
1432
- msgid "General"
1433
- msgstr "Общ"
 
 
 
1434
 
1435
- #: includes/views/admin_options_settings.php:10
1436
- #: includes/views/admin_options_settings.php:19
1437
  msgid "Delivered Order Status"
1438
  msgstr "Състояние на поръчката за доставка"
1439
 
1440
- #: includes/views/admin_options_settings.php:12
1441
- msgid "Tracking Info Display Designer"
1442
  msgstr ""
1443
- "Програмист за проследяване на информация за проследяване\n"
1444
 
1445
- #: includes/views/admin_options_settings.php:15
1446
- #: includes/views/admin_options_trackship_integration.php:19
1447
- msgid "General Settings"
1448
- msgstr "Основни настройки"
 
 
 
 
 
 
1449
 
1450
- #: includes/views/admin_options_settings.php:24
1451
- #: includes/views/admin_options_trackship_integration.php:25
1452
- #: includes/views/admin_options_trackship_integration.php:43
1453
- msgid "Save"
1454
- msgstr "Запази"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1455
 
1456
- #: includes/views/admin_options_shipping_provider.php:94
 
 
 
 
 
 
 
 
 
1457
  msgid "Add Custom Shipping Provider"
1458
  msgstr "Добавете Потребителски доставчик"
1459
 
1460
- #: includes/views/admin_options_shipping_provider.php:101
1461
- #: includes/views/admin_options_shipping_provider.php:135
1462
- msgid "Shiping Country"
1463
- msgstr "Страна на доставка"
1464
 
1465
- #: includes/views/admin_options_shipping_provider.php:102
1466
- #: includes/views/admin_options_shipping_provider.php:136
1467
  msgid "Global"
1468
  msgstr ""
1469
 
1470
- #: includes/views/admin_options_shipping_provider.php:128
1471
  msgid "Edit Custom Shipping Provider"
1472
  msgstr "Редактиране на доставчик по поръчка"
1473
 
1474
- #: includes/views/admin_options_shipping_provider.php:163
1475
- #: includes/views/admin_options_shipping_provider.php:170
1476
- msgid "Sync Providers"
1477
- msgstr "Синхронизиране на доставчици"
1478
-
1479
- #: includes/views/admin_options_shipping_provider.php:164
1480
- msgid "Do you really want to sync all providers?"
1481
- msgstr "Наистина ли искате да синхронизирате всички доставчици?"
1482
 
1483
- #: includes/views/admin_options_shipping_provider.php:166
1484
  msgid "Providers Added"
1485
  msgstr "Доставчиците са добавени"
1486
 
1487
- #: includes/views/admin_options_shipping_provider.php:167
1488
  msgid "Providers Updated"
1489
  msgstr "Актуализирани доставчици"
1490
 
1491
- #: includes/views/admin_options_shipping_provider.php:168
1492
  msgid "Providers Deleted"
1493
  msgstr "Доставчиците са изтрити"
1494
 
1495
- #: includes/views/admin_options_shipping_provider.php:171
1496
- msgid "Close"
1497
- msgstr "Близо"
1498
-
1499
- #: includes/views/admin_options_trackship_integration.php:13
1500
- #: includes/views/admin_options_trackship_integration.php:35
1501
  msgid "Tracking Page"
1502
  msgstr "Страница за проследяване"
1503
 
1504
- #: includes/views/admin_options_trackship_integration.php:16
1505
- msgid "Shipment Status Notifications"
1506
- msgstr "Известия за състоянието на пратката"
1507
-
1508
- #: includes/views/admin_options_trackship_integration.php:40
1509
  msgid "Click to preview the tracking page"
1510
  msgstr "Кликнете, за да визуализирате проследяващата страница"
1511
 
1512
- #: includes/views/admin_options_trackship_integration.php:41
1513
  msgid "PLEASE NOTE - make sure to save your settings before preview."
1514
  msgstr ""
1515
  "МОЛЯ ЗАБЕЛЕЖКА - не забравяйте да запазите настройките си преди визуализация."
1516
 
1517
- #: includes/views/admin_options_trackship_integration.php:53
1518
  msgid "Shipment Status Notifications "
1519
  msgstr "Известия за състоянието на пратката"
1520
 
1521
- #: includes/views/admin_options_trackship_integration.php:81
1522
  msgid ""
1523
  "Carrier has accepted or picked up shipment from shipper. The shipment is on "
1524
  "the way."
1525
  msgstr "Превозвачът е приел или взел пратка от изпращача. Пратката е на път."
1526
 
1527
- #: includes/views/admin_options_trackship_integration.php:95
1528
  msgid "Shipment is returned to sender"
1529
  msgstr "Пратката се връща на подателя"
1530
 
1531
- #: includes/views/admin_options_trackship_integration.php:109
1532
  msgid "The shipment is ready to pickup."
1533
  msgstr "Пратката е готова за пикап."
1534
 
1535
- #: includes/views/admin_options_trackship_integration.php:122
1536
  msgid "Carrier is about to deliver the shipment"
1537
  msgstr "Превозвачът е на път да достави пратката"
1538
 
1539
- #: includes/views/admin_options_trackship_integration.php:136
1540
  msgid "The shipment was delivered successfully"
1541
  msgstr "Пратката е доставена успешно"
1542
 
1543
- #: includes/views/admin_options_trackship_integration.php:137
1544
  msgid ""
1545
  "You already have delivered email enabled, to enable this email you'll need "
1546
  "to disable the order status delivered in settings."
@@ -1548,7 +1099,7 @@ msgstr ""
1548
  "Вече сте предоставили активиран имейл, за да активирате този имейл, ще "
1549
  "трябва да деактивирате състоянието на поръчката, доставена в настройките."
1550
 
1551
- #: includes/views/admin_options_trackship_integration.php:151
1552
  msgid ""
1553
  "Carrier attempted to deliver but failed, and usually leaves a notice and "
1554
  "will try to deliver the package again."
@@ -1556,43 +1107,35 @@ msgstr ""
1556
  "Превозвачът се опита да достави, но не успя и обикновено оставя известие и "
1557
  "ще се опита да достави пакета отново."
1558
 
1559
- #: includes/views/html-tracking-info-design-preview.php:60
1560
- msgid "USPS"
1561
- msgstr "USPS"
1562
-
1563
- #: includes/views/zorem_admin_sidebar.php:8
1564
- msgid "Leave your review"
1565
- msgstr ""
1566
-
1567
- #: includes/views/zorem_admin_ts_sidebar.php:5
1568
- msgid "Dashboard"
1569
- msgstr ""
1570
-
1571
- #: includes/views/zorem_admin_ts_sidebar.php:7
1572
- msgid "Documentation"
1573
  msgstr ""
1574
 
1575
- #: templates/emails/tracking-info.php:138
1576
- msgid "Status"
1577
- msgstr "Статус"
1578
-
1579
- #: templates/emails/wcast-email-order-details.php:26
1580
- msgid "Order Details"
1581
  msgstr ""
1582
- "подробности за поръчката\n"
1583
 
1584
  #. %s: Order ID.
1585
- #: templates/emails/wcast-email-order-details.php:42
1586
  #, php-format
1587
  msgid "Order number: %s"
1588
  msgstr ""
1589
  "Номер на поръчката:% s\n"
1590
 
1591
- #: templates/emails/wcast-email-order-details.php:49
1592
- msgid "Order date:"
 
 
 
 
 
 
 
 
1593
  msgstr ""
1594
- "Дата на поръчка:\n"
1595
 
1596
- #: templates/emails/plain/tracking-info.php:18
1597
- msgid "TRACKING INFORMATION"
1598
- msgstr "ИНФОРМАЦИЯ ЗА ПРОСЛЕДЯВАНЕТО"
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce Advanced Shipment Tracking\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2019-10-25 08:22+0000\n"
6
+ "PO-Revision-Date: 2019-10-25 08:22+0000\n"
7
  "Last-Translator: gaurav <gaurav1092@zorem.com>\n"
8
  "Language-Team: Bulgarian\n"
9
  "Language: bg_BG\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
  "X-Generator: Loco https://localise.biz/\n"
15
+ "X-Loco-Version: 2.3.1; wp-5.2.4"
16
 
17
+ #: woocommerce-advanced-shipment-tracking.php:114
18
  #, php-format
19
  msgid ""
20
  "Please install and activate %sWooCommerce%s for WooCommerce Advanced "
23
  "Моля, инсталирайте и активирайте% sWooCommerce% s за усъвършенствано "
24
  "проследяване на пратки в WooCommerce!"
25
 
26
+ #: woocommerce-advanced-shipment-tracking.php:223
27
+ #, php-format
28
+ msgid "Your order was shipped with %s and your tracking code is: %s"
29
  msgstr ""
30
 
31
+ #: woocommerce-advanced-shipment-tracking.php:430
32
+ #: includes/views/admin_options_settings.php:68
33
  #, php-format
34
  msgid ""
35
  "<strong>PLEASE NOTE</strong> - If you use the custom order status "
40
  "\"completed\" before deactivating the plugin."
41
  msgstr ""
42
 
43
+ #: includes/class-wc-advanced-shipment-tracking-front.php:150
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  msgid ""
45
  "To track your order please enter your Order ID in the box below and press "
46
  "the \"Track\" button. This was given to you on your receipt and in the "
50
  "долу и натиснете бутона \"Track\". Това ви беше дадено в касовата бележка и "
51
  "в имейла за потвърждение, който трябваше да получите.\n"
52
 
53
+ #: includes/class-wc-advanced-shipment-tracking-front.php:151
54
+ #: includes/class-wc-advanced-shipment-tracking-front.php:152
 
 
 
 
 
55
  msgid "Found in your order confirmation email."
56
  msgstr ""
57
  "Намерен в имейла за потвърждение на поръчката.\n"
58
 
59
+ #: includes/class-wc-advanced-shipment-tracking-front.php:152
60
  msgid "Order Email"
61
  msgstr ""
62
  "Имейл за поръчка\n"
63
 
64
+ #: includes/class-wc-advanced-shipment-tracking-front.php:155
65
  #: includes/class-wc-advanced-shipment-tracking.php:260
66
+ #: includes/class-wc-advanced-shipment-tracking.php:656
67
+ #: includes/class-wc-advanced-shipment-tracking.php:780
68
+ #: includes/customizer/class-wc-tracking-info-customizer.php:147
69
+ #: includes/customizer/class-wc-tracking-info-customizer.php:444
70
+ #: templates/emails/tracking-info.php:174
71
+ #: templates/myaccount/tracking-info.php:125
 
72
  msgid "Track"
73
  msgstr "път"
74
 
75
+ #: includes/class-wc-advanced-shipment-tracking-front.php:233
76
+ #: includes/class-wc-advanced-shipment-tracking-front.php:510
77
  #, php-format
78
  msgid "Shipment - %s (out of %s)"
79
  msgstr ""
80
  "Пратка -% s (от% s)\n"
81
 
82
+ #: includes/class-wc-advanced-shipment-tracking-front.php:246
83
+ #: includes/class-wc-advanced-shipment-tracking-front.php:250
84
+ #: includes/class-wc-advanced-shipment-tracking-front.php:523
85
+ #: includes/class-wc-advanced-shipment-tracking-front.php:527
 
 
 
 
 
86
  msgid "Estimated Delivery Date: "
87
  msgstr "Очаквана дата за доставка:"
88
 
89
+ #: includes/class-wc-advanced-shipment-tracking-front.php:359
90
+ #: includes/class-wc-advanced-shipment-tracking-front.php:636
91
+ #: includes/class-wc-advanced-shipment-tracking-front.php:812
92
  msgid "Tracking Details"
93
  msgstr "Детайли за проследяване"
94
 
95
+ #: includes/class-wc-advanced-shipment-tracking-front.php:378
96
+ #: includes/class-wc-advanced-shipment-tracking-front.php:655
97
+ #: includes/class-wc-advanced-shipment-tracking-front.php:833
98
  msgid "view more"
99
  msgstr "Виж повече"
100
 
101
+ #: includes/class-wc-advanced-shipment-tracking-front.php:379
102
+ #: includes/class-wc-advanced-shipment-tracking-front.php:656
103
+ #: includes/class-wc-advanced-shipment-tracking-front.php:834
104
  msgid "view less"
105
  msgstr "вижте по-малко"
106
 
107
+ #: includes/class-wc-advanced-shipment-tracking-front.php:387
108
+ #: includes/class-wc-advanced-shipment-tracking-front.php:664
109
+ msgid "Tracking details not found in TrackShip"
 
 
 
110
  msgstr ""
 
 
111
 
112
+ #: includes/class-wc-advanced-shipment-tracking-front.php:747
113
+ msgid "Estimated Delivery Date"
114
+ msgstr ""
115
+
116
+ #: includes/class-wc-advanced-shipment-tracking.php:95
117
  #: includes/class-wc-advanced-shipment-tracking.php:244
118
+ #: includes/customizer/class-wcast-customizer.php:31
119
  msgid "Shipment Tracking"
120
  msgstr "Проследяване на пратките"
121
 
122
+ #: includes/class-wc-advanced-shipment-tracking.php:184
 
 
 
 
 
123
  #: includes/class-wc-advanced-shipment-tracking.php:353
124
+ msgid "Mark as Shipped?"
125
  msgstr ""
126
 
127
  #: includes/class-wc-advanced-shipment-tracking.php:186
128
+ #: includes/class-wc-advanced-shipment-tracking.php:355
129
+ msgid "Mark as Completed?"
130
  msgstr ""
131
 
132
  #: includes/class-wc-advanced-shipment-tracking.php:191
133
+ msgid "Add Tracking Number"
134
+ msgstr ""
135
+
136
+ #: includes/class-wc-advanced-shipment-tracking.php:196
137
+ #: includes/class-wc-advanced-shipment-tracking.php:371
138
  msgid "Provider:"
139
  msgstr "доставчик на:"
140
 
141
+ #: includes/class-wc-advanced-shipment-tracking.php:216
142
+ #: includes/class-wc-advanced-shipment-tracking.php:409
143
  msgid "Tracking number:"
144
  msgstr "Номер за проследяване:"
145
 
146
+ #: includes/class-wc-advanced-shipment-tracking.php:220
147
+ #: includes/class-wc-advanced-shipment-tracking.php:417
148
  msgid "Date shipped:"
149
  msgstr "Дата на изпращане:"
150
 
 
151
  #: includes/class-wc-advanced-shipment-tracking.php:221
152
+ #: includes/class-wc-advanced-shipment-tracking.php:418
153
+ #: includes/class-wc-advanced-shipment-tracking.php:421
154
  msgid "Y-m-d"
155
  msgstr ""
156
 
157
  #: includes/class-wc-advanced-shipment-tracking.php:260
158
+ #: includes/class-wc-advanced-shipment-tracking.php:433
159
  msgid "Click here to track your shipment"
160
  msgstr "Кликнете тук, за да проследите пратката си"
161
 
162
  #. 1: shipping date
163
  #: includes/class-wc-advanced-shipment-tracking.php:268
 
164
  #, php-format
165
  msgid "Shipped on %s"
166
  msgstr "Изпратено на% s"
167
 
168
+ #: includes/class-wc-advanced-shipment-tracking.php:367
 
 
 
 
169
  msgid "Add Tracking Info"
170
  msgstr "Добавяне на информация за проследяване"
171
 
172
+ #: includes/class-wc-advanced-shipment-tracking.php:372
173
  msgid "Select Provider"
174
  msgstr "Изберете Доставчик"
175
 
176
+ #: includes/class-wc-advanced-shipment-tracking.php:432
177
  msgid "Save Tracking"
178
  msgstr "Запазване на проследяването"
179
 
180
+ #: includes/class-wc-advanced-shipment-tracking.php:433
181
  msgid "Preview:"
182
  msgstr "Преглед:"
183
 
184
+ #: includes/class-wc-advanced-shipment-tracking.php:630
185
+ #, php-format
186
+ msgid ""
187
+ "Tracking info was deleted for tracking provider %s with tracking number %s"
188
+ msgstr ""
189
+
190
+ #: includes/class-wc-advanced-shipment-tracking.php:986
191
+ #, php-format
192
+ msgid "Order was shipped with %s and tracking number is: %s"
193
+ msgstr ""
194
+
195
+ #: includes/class-wc-advanced-shipment-welcome.php:38
196
+ #: includes/class-wc-advanced-shipment-welcome.php:39
197
+ msgid "Welcome to Advanced Shipment Tracking"
198
+ msgstr ""
199
+
200
+ #: includes/class-wc-advanced-shipment-welcome.php:90
201
+ #: includes/class-wc-advanced-shipment-welcome.php:129
202
+ #: includes/class-wc-advanced-shipment-welcome.php:147
203
+ msgid "Save and Continue"
204
+ msgstr ""
205
+
206
+ #: includes/class-wc-advanced-shipment-welcome.php:177
207
+ #: includes/views/admin_options_trackship_integration.php:26
208
+ msgid "Connection status"
209
+ msgstr ""
210
+
211
+ #: includes/class-wc-advanced-shipment-welcome.php:184
212
+ #: includes/views/admin_options_trackship_integration.php:33
213
+ msgid "TrackShip Connection Status"
214
+ msgstr "Състояние на връзката към TrackShip"
215
+
216
+ #: includes/class-wc-advanced-shipment-welcome.php:188
217
+ #: includes/views/admin_options_trackship_integration.php:37
218
+ msgid "Connected"
219
+ msgstr ""
220
+ "свързан\n"
221
+
222
+ #: includes/class-wc-advanced-shipment-welcome.php:194
223
+ #: includes/views/admin_options_trackship_integration.php:43
224
+ msgid "Trackers Balance"
225
+ msgstr ""
226
+
227
+ #: includes/class-wc-advanced-shipment-welcome.php:202
228
+ #: includes/views/admin_options_trackship_integration.php:51
229
+ msgid "Current Plan"
230
+ msgstr ""
231
+
232
+ #: includes/class-wc-advanced-shipment-welcome.php:217
233
+ #: includes/views/admin_options_trackship_integration.php:66
234
+ msgid ""
235
+ "You are now connected with TrackShip! TrackShip makes it effortless to "
236
+ "automate your post shipping operations and get tracking and delivery status "
237
+ "updates directly in the WooCommerce admin."
238
+ msgstr ""
239
+
240
+ #: includes/class-wc-advanced-shipment-welcome.php:222
241
+ #: includes/views/admin_options_bulk_upload.php:58
242
+ #: includes/views/admin_options_trackship_integration.php:71
243
+ #: includes/views/zorem_admin_ts_sidebar.php:12
244
+ msgid "Documentation"
245
+ msgstr ""
246
+
247
+ #: includes/class-wc-advanced-shipment-welcome.php:223
248
+ #: includes/views/admin_options_trackship_integration.php:72
249
+ msgid "TrackShip Dashboard"
250
+ msgstr ""
251
+
252
+ #: includes/class-wc-advanced-shipment-welcome.php:253
253
+ msgid "Save"
254
+ msgstr ""
255
+
256
+ #: includes/class-wc-advanced-shipment-welcome.php:310
257
+ msgid ""
258
+ "Get Shipment Status is limited to 100 orders at a time, please select up to "
259
+ "100 orders."
260
+ msgstr ""
261
+
262
+ #: includes/class-wc-advanced-shipment-welcome.php:343
263
+ msgid "Data saved successfully."
264
+ msgstr "Данните са запазени успешно."
265
+
266
+ #: includes/class-wc-advanced-shipment-welcome.php:344
267
+ msgid "Really delete this entry? This will not be undo."
268
+ msgstr "Наистина ли да изтриете този запис? Това няма да бъде отменено."
269
+
270
+ #: includes/class-wc-advanced-shipment-welcome.php:345
271
+ msgid "You can upload only csv file."
272
+ msgstr "Можете да качите само csv файл."
273
+
274
+ #: includes/class-wc-advanced-shipment-welcome.php:346
275
+ msgid "This browser does not support HTML5."
276
+ msgstr "Този браузър не поддържа HTML5."
277
 
278
+ #: includes/class-wc-advanced-shipment-welcome.php:347
279
+ msgid "Please upload a valid CSV file."
280
+ msgstr "Моля, качете валиден CSV файл."
281
+
282
+ #: includes/customizer/class-wcast-customizer.php:40
283
  msgid "Shipment Status Emails"
284
  msgstr "Имейли за състоянието на пратката"
285
 
286
+ #: includes/customizer/class-wcast-customizer.php:52
287
  msgid "Tracking info display"
288
  msgstr ""
289
  "Показване на информация за проследяване\n"
290
 
291
+ #: includes/customizer/class-wcast-customizer.php:60
292
+ #: includes/customizer/class-wc-email-customizer.php:163
293
+ msgid "Delivered order status email"
294
+ msgstr "Предоставен е имейл за състоянието на поръчката"
295
+
296
+ #: includes/customizer/class-wcast-customizer.php:68
297
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:143
298
+ msgid "Partial Shipped order status email"
299
  msgstr ""
 
 
300
 
301
+ #: includes/customizer/class-wcast-customizer.php:76
302
+ msgid "Pre Transit"
303
+ msgstr "Предварително преминаване"
304
+
305
+ #: includes/customizer/class-wcast-customizer.php:84
306
+ #: includes/customizer/class-wc-intransit-email-customizer.php:127
307
+ #: includes/views/admin_options_trackship_integration.php:161
308
+ msgid "In Transit"
309
+ msgstr "Транзитно"
310
+
311
+ #: includes/customizer/class-wcast-customizer.php:92
312
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:124
313
+ #: includes/views/admin_options_trackship_integration.php:175
314
+ msgid "Return To Sender"
315
+ msgstr "Върнете се към подателя"
316
+
317
+ #: includes/customizer/class-wcast-customizer.php:99
318
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:124
319
+ #: includes/views/admin_options_trackship_integration.php:189
320
+ msgid "Available For Pickup"
321
+ msgstr "Предлага се за пикап"
322
+
323
+ #: includes/customizer/class-wcast-customizer.php:106
324
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:126
325
+ #: includes/views/admin_options_trackship_integration.php:202
326
  msgid "Out For Delivery"
327
  msgstr ""
328
  "За доставка\n"
329
 
330
+ #: includes/customizer/class-wcast-customizer.php:114
331
+ #: includes/customizer/class-wc-delivered-email-customizer.php:125
332
+ #: includes/views/admin_options_trackship_integration.php:216
333
+ msgid "Delivered"
334
+ msgstr "Доставени"
335
+
336
+ #: includes/customizer/class-wcast-customizer.php:122
337
+ #: includes/customizer/class-wc-failure-email-customizer.php:124
338
+ #: includes/views/admin_options_trackship_integration.php:231
339
+ msgid "Failed Attempt"
340
+ msgstr "Неуспешен опит"
341
+
342
+ #: includes/customizer/class-wcast-customizer.php:390
343
  msgid "Select order to preview"
344
  msgstr ""
345
  "Изберете поръчка за визуализация\n"
346
 
347
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:123
348
  msgid "Your order #{order_number} is available for pickup"
349
  msgstr ""
350
  "Вашата поръчка # {order_number} е достъпна за приемане\n"
351
 
352
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:125
353
  msgid ""
354
  "Hi there. we thought you'd like to know that your recent order from "
355
  "{site_title} is available for pickup."
357
  "Здрасти. решихме, че искате да знаете, че скорошната Ви поръчка от "
358
  "{site_title} е достъпна за приемане."
359
 
360
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:156
361
  msgid "Available For Pickup shipment status email"
362
  msgstr ""
363
  "Наличен за статус на пратка за доставка\n"
364
 
365
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:157
366
+ #: includes/customizer/class-wc-delivered-email-customizer.php:158
367
+ #: includes/customizer/class-wc-email-customizer.php:164
368
+ #: includes/customizer/class-wc-failure-email-customizer.php:157
369
+ #: includes/customizer/class-wc-intransit-email-customizer.php:160
370
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:159
371
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:157
372
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:144
373
  msgid "This section lets you customize the Email Content."
374
  msgstr ""
375
  "Този раздел ви позволява да персонализирате съдържанието на електронната "
376
  "поща."
377
 
378
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:171
379
  msgid "Enable Available For Pickup shipment status email"
380
  msgstr ""
381
  "Активиране на имейла за статуса на пратката на разположение за получаване"
382
 
383
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:187
384
+ #: includes/customizer/class-wc-delivered-email-customizer.php:188
385
+ #: includes/customizer/class-wc-email-customizer.php:197
386
+ #: includes/customizer/class-wc-failure-email-customizer.php:187
387
+ #: includes/customizer/class-wc-intransit-email-customizer.php:191
388
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:189
389
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:187
390
+ #: includes/customizer/class-wc-tracking-info-customizer.php:178
391
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:177
392
  msgid "Preview order"
393
  msgstr ""
394
  "Преглед на поръчката\n"
395
 
396
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:215
397
+ #: includes/customizer/class-wc-delivered-email-customizer.php:216
398
+ #: includes/customizer/class-wc-email-customizer.php:226
399
+ #: includes/customizer/class-wc-failure-email-customizer.php:215
400
+ #: includes/customizer/class-wc-intransit-email-customizer.php:219
401
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:217
402
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:215
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
403
  msgid "E.g. {customer.email}, admin@example.org"
404
  msgstr "E.g. {customer.email}, admin@example.org"
405
 
406
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:231
407
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:253
408
+ #: includes/customizer/class-wc-delivered-email-customizer.php:232
409
+ #: includes/customizer/class-wc-delivered-email-customizer.php:254
410
+ #: includes/customizer/class-wc-failure-email-customizer.php:231
411
+ #: includes/customizer/class-wc-failure-email-customizer.php:253
412
+ #: includes/customizer/class-wc-intransit-email-customizer.php:235
413
+ #: includes/customizer/class-wc-intransit-email-customizer.php:257
414
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:233
415
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:255
416
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:231
417
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:253
 
 
 
 
 
 
 
 
 
 
418
  msgid "Available placeholders: {site_title}, {order_number}"
419
  msgstr "Налични резерви: {site_title}, {order_number}"
420
 
421
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:237
422
+ #: includes/customizer/class-wc-delivered-email-customizer.php:238
423
+ #: includes/customizer/class-wc-email-customizer.php:249
424
+ #: includes/customizer/class-wc-failure-email-customizer.php:237
425
+ #: includes/customizer/class-wc-intransit-email-customizer.php:241
426
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:239
427
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:237
428
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:206
429
  msgid "Please enter email subject here"
430
  msgstr "Моля, въведете тук имейл"
431
 
432
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:259
433
+ #: includes/customizer/class-wc-delivered-email-customizer.php:260
434
+ #: includes/customizer/class-wc-email-customizer.php:272
435
+ #: includes/customizer/class-wc-failure-email-customizer.php:259
436
+ #: includes/customizer/class-wc-intransit-email-customizer.php:263
437
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:261
438
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:259
439
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:229
 
 
 
 
 
 
 
 
 
 
440
  msgid "Please enter email heading here"
441
  msgstr "Моля, въведете имейл адреса тук"
442
 
443
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:274
444
+ #: includes/customizer/class-wc-delivered-email-customizer.php:275
445
+ #: includes/customizer/class-wc-failure-email-customizer.php:274
446
+ #: includes/customizer/class-wc-intransit-email-customizer.php:278
447
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:276
448
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:274
449
  msgid "Show tracking details"
450
  msgstr ""
451
  "Показване на подробности за проследяването\n"
452
 
453
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:290
454
+ #: includes/customizer/class-wc-delivered-email-customizer.php:291
455
+ #: includes/customizer/class-wc-failure-email-customizer.php:290
456
+ #: includes/customizer/class-wc-intransit-email-customizer.php:294
457
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:292
458
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:290
459
  msgid "Show order details"
460
  msgstr ""
461
  "Показване на подробности за поръчката\n"
462
 
463
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:306
464
+ #: includes/customizer/class-wc-delivered-email-customizer.php:307
465
+ #: includes/customizer/class-wc-failure-email-customizer.php:306
466
+ #: includes/customizer/class-wc-intransit-email-customizer.php:310
467
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:308
468
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:306
469
  msgid "Show billing address"
470
  msgstr ""
471
  "Показване на адрес за фактуриране\n"
472
 
473
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:323
474
+ #: includes/customizer/class-wc-delivered-email-customizer.php:324
475
+ #: includes/customizer/class-wc-failure-email-customizer.php:323
476
+ #: includes/customizer/class-wc-intransit-email-customizer.php:327
477
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:325
478
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:323
479
  msgid "Show shipping address"
480
  msgstr ""
481
  "Показване на адреса за доставка\n"
482
 
483
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:339
484
+ #: includes/customizer/class-wc-delivered-email-customizer.php:340
485
+ #: includes/customizer/class-wc-email-customizer.php:392
486
+ #: includes/customizer/class-wc-failure-email-customizer.php:339
487
+ #: includes/customizer/class-wc-intransit-email-customizer.php:363
488
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:341
489
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:339
490
  msgid "Google Analytics link tracking"
491
  msgstr ""
492
 
493
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:340
494
+ #: includes/customizer/class-wc-delivered-email-customizer.php:341
495
+ #: includes/customizer/class-wc-failure-email-customizer.php:340
496
+ #: includes/customizer/class-wc-intransit-email-customizer.php:364
497
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:342
498
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:340
499
  msgid "This will be appended to URL in the email content"
500
  msgstr ""
501
 
502
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:361
503
+ #: includes/customizer/class-wc-delivered-email-customizer.php:362
504
+ #: includes/customizer/class-wc-email-customizer.php:288
505
+ #: includes/customizer/class-wc-failure-email-customizer.php:361
506
+ #: includes/customizer/class-wc-intransit-email-customizer.php:344
507
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:363
508
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:361
509
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:245
510
  msgid "Email content"
511
  msgstr "Съдържание на имейла"
512
 
513
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:380
514
+ #: includes/customizer/class-wc-delivered-email-customizer.php:382
515
+ #: includes/customizer/class-wc-email-customizer.php:413
516
+ #: includes/customizer/class-wc-failure-email-customizer.php:381
517
+ #: includes/customizer/class-wc-intransit-email-customizer.php:385
518
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:383
519
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:381
520
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:264
521
  msgid "Available placeholders"
522
  msgstr ""
523
  "Налични места\n"
524
 
525
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:427
526
+ #: includes/customizer/class-wc-delivered-email-customizer.php:429
527
+ #: includes/customizer/class-wc-email-customizer.php:446
528
+ #: includes/customizer/class-wc-failure-email-customizer.php:428
529
+ #: includes/customizer/class-wc-intransit-email-customizer.php:431
530
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:429
531
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:427
532
+ #: includes/customizer/class-wc-tracking-info-customizer.php:791
533
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:297
534
+ msgid "Please select order to preview."
535
  msgstr ""
 
536
 
537
+ #: includes/customizer/class-wc-delivered-email-customizer.php:124
538
  msgid "Your order #{order_number} has been delivered"
539
  msgstr ""
540
 
541
+ #: includes/customizer/class-wc-delivered-email-customizer.php:126
542
+ #: includes/customizer/class-wc-email-customizer.php:132
543
  msgid ""
544
  "Hi there. we thought you'd like to know that your recent order from "
545
  "{site_title} has been Delivered."
547
  "Здрасти. решихме, че искате да знаете, че скорошната Ви поръчка от "
548
  "{site_title} е била Доставена."
549
 
550
+ #: includes/customizer/class-wc-delivered-email-customizer.php:157
551
  msgid "Delivered shipment status email"
552
  msgstr "Предоставен е имейл за състоянието на пратката"
553
 
554
+ #: includes/customizer/class-wc-delivered-email-customizer.php:172
555
  msgid "Enable Delivered shipment status email"
556
  msgstr "Активиране на имейла за състоянието на доставената пратка"
557
 
558
+ #: includes/customizer/class-wc-email-customizer.php:130
559
+ #: includes/emails/class-shipment-delivered-email.php:94
560
  msgid "Your {site_title} order is now delivered"
561
  msgstr "Поръчката ви {site_title} вече е доставена"
562
 
563
+ #: includes/customizer/class-wc-email-customizer.php:179
 
 
 
 
 
 
 
 
 
 
 
564
  msgid "Enable Delivered order status email"
565
  msgstr "Активиране на имейл съобщението за състоянието на поръчката"
566
 
567
+ #: includes/customizer/class-wc-email-customizer.php:201
568
+ #: includes/customizer/class-wc-tracking-info-customizer.php:182
569
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:181
570
  msgid "Please select a order..."
571
  msgstr ""
572
  "Моля, изберете поръчка ...\n"
573
 
574
+ #: includes/customizer/class-wc-email-customizer.php:243
575
+ #: includes/customizer/class-wc-email-customizer.php:266
576
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:200
577
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:223
 
 
 
 
 
 
 
 
578
  msgid "Available variables: {site_title}, {order_number}"
579
  msgstr ""
580
 
581
+ #: includes/customizer/class-wc-email-customizer.php:289
582
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:246
583
  msgid ""
584
  "available variables: {site_title}, {customer_email}, {customer_first_name}, "
585
  "{customer_last_name}, {customer_username}, {order_number}"
586
  msgstr ""
587
 
588
+ #: includes/customizer/class-wc-email-customizer.php:308
589
  msgid "Display tracking details"
590
  msgstr ""
591
 
592
+ #: includes/customizer/class-wc-email-customizer.php:324
593
  msgid "Display order details"
594
  msgstr ""
595
 
596
+ #: includes/customizer/class-wc-email-customizer.php:341
597
  msgid "Display Shipping Address"
598
  msgstr ""
599
 
600
+ #: includes/customizer/class-wc-email-customizer.php:358
601
  msgid "Display Billing Address"
602
  msgstr ""
603
 
604
+ #: includes/customizer/class-wc-email-customizer.php:375
605
  msgid "Enable Google Analytics tracking"
606
  msgstr ""
607
 
608
+ #: includes/customizer/class-wc-email-customizer.php:393
609
  msgid ""
610
  "This will be appended to URL in the email content – e.g. "
611
  "utm_source=ast&utm_medium=email&utm_campaign=delivered"
612
  msgstr ""
613
 
614
+ #: includes/customizer/class-wc-failure-email-customizer.php:123
615
  msgid "Your order #{order_number} is Failed Attempt"
616
  msgstr "Вашата поръчка № {order_number} е неуспешен опит"
617
 
618
+ #: includes/customizer/class-wc-failure-email-customizer.php:125
619
  msgid ""
620
  "Hi there. we thought you'd like to know that your recent order from "
621
  "{site_title} is Failed Attempt"
623
  "Здрасти. решихме, че бихте искали да знаете, че скорошната ви поръчка от "
624
  "{site_title} е неуспешен опит"
625
 
626
+ #: includes/customizer/class-wc-failure-email-customizer.php:156
627
  msgid "Failed Attempt shipment status email"
628
  msgstr "Неуспешен опит за опит за изпращане на имейл"
629
 
630
+ #: includes/customizer/class-wc-failure-email-customizer.php:171
631
  msgid "Enable Failed Attempt shipment status email"
632
  msgstr "Активирайте имейла за неуспешен опит за пратка"
633
 
634
+ #: includes/customizer/class-wc-intransit-email-customizer.php:126
635
  msgid "Your order #{order_number} is in transit"
636
  msgstr ""
637
  "Вашата поръчка # {order_number} е в транзит\n"
638
 
639
+ #: includes/customizer/class-wc-intransit-email-customizer.php:128
640
  msgid ""
641
  "Hi there. we thought you'd like to know that your recent order from "
642
  "{site_title} is in transit"
644
  "Здрасти. решихме, че искате да знаете, че скорошната ви поръчка от "
645
  "{site_title} е в транзит"
646
 
647
+ #: includes/customizer/class-wc-intransit-email-customizer.php:159
648
  msgid "In Transit shipment status email"
649
  msgstr ""
650
  "Електронна поща за статуса на транзитния транзит\n"
651
 
652
+ #: includes/customizer/class-wc-intransit-email-customizer.php:174
653
  msgid "Enable In Transit shipment status email"
654
  msgstr "Активиране на имейла за статуса на пратка в транзит"
655
 
656
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:125
657
  msgid "Your order #{order_number} is out for delivery"
658
  msgstr ""
659
  "Вашата поръчка # {order_number} е за доставка\n"
660
 
661
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:127
662
  msgid ""
663
  "Hi there. we thought you'd like to know that your recent order from "
664
  "{site_title} is out for delivery."
666
  "Здрасти. решихме, че искате да знаете, че скорошната ви поръчка от "
667
  "{site_title} е за доставка.\n"
668
 
669
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:158
670
  msgid "Out For Delivery shipment status email"
671
  msgstr "Out за доставка на пратка статус имейл"
672
 
673
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:173
674
  msgid "Enable Out For Delivery shipment status email"
675
  msgstr ""
676
  "Активиране на имейла за състоянието на пратката за доставка\n"
677
 
678
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:123
679
  msgid "Your order #{order_number} has returned to sender"
680
  msgstr ""
681
  "Вашата поръчка # {order_number} се върна на подателя\n"
682
 
683
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:125
684
  msgid ""
685
  "Hi there. we thought you'd like to know that your recent order from "
686
  "{site_title} has been returned to sender."
688
  "Здрасти. смятаме, че искате да знаете, че скорошната Ви поръчка от "
689
  "{site_title} е върната на подателя.\n"
690
 
691
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:156
692
  msgid "Return To Sender shipment status email"
693
  msgstr "Връщане в имейла за състоянието на пратката на подателя"
694
 
695
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:171
696
  msgid "Enable Return To Sender shipment status email"
697
  msgstr "Активиране на имейла за състоянието на изпращане на изпращача"
698
 
699
+ #: includes/customizer/class-wc-tracking-info-customizer.php:144
700
+ #: includes/customizer/class-wc-tracking-info-customizer.php:364
701
+ #: templates/emails/tracking-info.php:132
702
+ #: templates/myaccount/tracking-info.php:91
703
  msgid "Provider"
704
  msgstr "доставчик"
705
 
706
+ #: includes/customizer/class-wc-tracking-info-customizer.php:145
707
+ #: includes/customizer/class-wc-tracking-info-customizer.php:386
708
+ #: templates/emails/tracking-info.php:156
709
+ #: templates/myaccount/tracking-info.php:113
 
710
  msgid "Tracking Number"
711
  msgstr "Номер за проследяване"
712
 
713
+ #: includes/customizer/class-wc-tracking-info-customizer.php:146
714
+ #: includes/customizer/class-wc-tracking-info-customizer.php:407
715
  msgid "Shipped Date"
716
  msgstr ""
717
  "Дата на изпращане\n"
718
 
719
+ #: includes/customizer/class-wc-tracking-info-customizer.php:179
720
  msgid ""
721
  "select from last 20 orders one order that you added tracking info in order "
722
  "to preview and design the tracking info table."
725
  "информация за проследяване, за да визуализирате и проектирате "
726
  "информационната таблица за проследяване.\n"
727
 
728
+ #: includes/customizer/class-wc-tracking-info-customizer.php:198
729
+ #: includes/views/admin_options_settings.php:15
730
+ #: includes/views/admin_options_trackship_integration.php:82
731
+ msgid "General Settings"
732
+ msgstr "Основни настройки"
733
+
734
+ #: includes/customizer/class-wc-tracking-info-customizer.php:213
735
  msgid "Tracking Display Position"
736
  msgstr "Проследяване на позицията на дисплея"
737
 
738
+ #: includes/customizer/class-wc-tracking-info-customizer.php:217
739
  msgid "Before Order Details"
740
  msgstr "Преди подробности за поръчката"
741
 
742
+ #: includes/customizer/class-wc-tracking-info-customizer.php:218
743
  msgid "After Order Details"
744
  msgstr "След подробности за поръчката"
745
 
746
+ #: includes/customizer/class-wc-tracking-info-customizer.php:233
747
  msgid "Main Header text"
748
  msgstr "Текст на основния заглавие"
749
 
750
+ #: includes/customizer/class-wc-tracking-info-customizer.php:240
 
751
  msgid "Tracking Information"
752
  msgstr "Информация за проследяване"
753
 
754
+ #: includes/customizer/class-wc-tracking-info-customizer.php:255
755
  msgid "Additional text after header"
756
  msgstr "Допълнителен текст след заглавието"
757
 
758
+ #: includes/customizer/class-wc-tracking-info-customizer.php:276
759
+ msgid "Table Content"
760
+ msgstr ""
761
 
762
+ #: includes/customizer/class-wc-tracking-info-customizer.php:291
763
  msgid "Display Shipment Provider image"
764
  msgstr "Покажи изображението на доставчика на пратка"
765
 
766
+ #: includes/customizer/class-wc-tracking-info-customizer.php:308
767
  msgid "Hide date"
768
  msgstr "Скриване на дата"
769
 
770
+ #: includes/customizer/class-wc-tracking-info-customizer.php:325
771
+ msgid "Table Header"
772
+ msgstr ""
773
+
774
+ #: includes/customizer/class-wc-tracking-info-customizer.php:340
775
+ msgid "Hide Header"
776
+ msgstr ""
777
+
778
+ #: includes/customizer/class-wc-tracking-info-customizer.php:357
779
  msgid "Provider Header Text"
780
  msgstr "Текст на заглавката на доставчика"
781
 
782
+ #: includes/customizer/class-wc-tracking-info-customizer.php:379
783
  msgid "Tracking Number Header Text"
784
  msgstr "Текст на заглавния номер на проследяването"
785
 
786
+ #: includes/customizer/class-wc-tracking-info-customizer.php:400
787
  msgid "Shipped Date Header Text"
788
  msgstr "Текст на заглавката на датата"
789
 
790
+ #: includes/customizer/class-wc-tracking-info-customizer.php:421
791
  msgid "Track Label"
792
  msgstr "Етикет за проследяване"
793
 
794
+ #: includes/customizer/class-wc-tracking-info-customizer.php:437
795
  msgid "Track Header Text"
796
  msgstr "Текст на заглавието на трака"
797
 
798
+ #: includes/customizer/class-wc-tracking-info-customizer.php:459
799
+ msgid "Table header font size"
800
+ msgstr "Размер на шрифта на заглавката на таблицата"
801
+
802
+ #: includes/customizer/class-wc-tracking-info-customizer.php:476
803
+ msgid "Table header font color"
804
+ msgstr "Цвят на шрифта на заглавката на таблицата"
805
+
806
+ #: includes/customizer/class-wc-tracking-info-customizer.php:492
807
  msgid "Table Design"
808
  msgstr ""
809
  "Изображение на доставчика\n"
810
 
811
+ #: includes/customizer/class-wc-tracking-info-customizer.php:507
812
  msgid "Padding"
813
  msgstr ""
814
  "подложка\n"
815
 
816
+ #: includes/customizer/class-wc-tracking-info-customizer.php:527
817
  msgid "Background color"
818
  msgstr "Цвят на фона"
819
 
820
+ #: includes/customizer/class-wc-tracking-info-customizer.php:555
821
  msgid "Border color"
822
  msgstr "Цвят на границата"
823
 
824
+ #: includes/customizer/class-wc-tracking-info-customizer.php:571
825
  msgid "Border size"
826
  msgstr "Размер на границата"
827
 
828
+ #: includes/customizer/class-wc-tracking-info-customizer.php:595
 
 
 
 
 
 
829
  msgid "Table text align"
830
  msgstr "Подравняване на текста на таблицата"
831
 
832
+ #: includes/customizer/class-wc-tracking-info-customizer.php:618
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
833
  msgid "Table content font size"
834
  msgstr "Размер на шрифта на съдържанието на таблицата"
835
 
836
+ #: includes/customizer/class-wc-tracking-info-customizer.php:635
837
  msgid "Table content font color"
838
  msgstr "Цвят на шрифта на съдържанието на таблицата"
839
 
840
+ #: includes/customizer/class-wc-tracking-info-customizer.php:651
841
  msgid "Content line height"
842
  msgstr ""
843
  "Височина на линията на съдържанието\n"
844
 
845
+ #: includes/customizer/class-wc-tracking-info-customizer.php:672
846
  msgid "Content font weight"
847
  msgstr ""
848
  "Тегло на шрифта на съдържанието\n"
849
 
850
+ #: includes/customizer/class-wc-tracking-info-customizer.php:694
851
+ msgid "Track Button Design"
852
+ msgstr ""
853
 
854
+ #: includes/customizer/class-wc-tracking-info-customizer.php:708
855
  msgid "Track Link Font Color"
856
  msgstr "Цвят на шрифта за връзка"
857
 
858
+ #: includes/customizer/class-wc-tracking-info-customizer.php:724
859
  msgid "Track Link Background Color"
860
  msgstr "Цвят на фона на проследяване на връзката"
861
 
862
+ #: includes/customizer/class-wc-tracking-info-customizer.php:739
863
  msgid "Track link Border"
864
  msgstr "Проследяване на връзката Граница"
865
 
866
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:116
867
+ msgid "Your {site_title} order is now partial shipped"
 
 
 
 
 
868
  msgstr ""
 
869
 
870
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:118
871
+ msgid ""
872
+ "Hi there. we thought you'd like to know that your recent order from "
873
+ "{site_title} has been Partial Shipped."
 
 
 
874
  msgstr ""
 
875
 
876
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:159
877
+ msgid "Enable Partial Shipped order status email"
878
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
879
 
880
  #: includes/emails/class-shipment-delivered-email.php:32
881
  msgid "Delivered order"
887
  "delivered and usually indicate that their orders have been shipped."
888
  msgstr ""
889
 
890
+ #: includes/emails/class-shipment-delivered-email.php:279
891
+ msgid "Click Here"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
892
  msgstr ""
893
 
894
+ #: includes/emails/class-shipment-delivered-email.php:280
 
 
 
 
895
  msgid "Edit in customizer"
896
  msgstr ""
897
 
898
+ #: includes/views/admin_options_bulk_upload.php:10
899
  msgid "Upload CSV"
900
  msgstr "Качете CSV"
901
 
902
+ #: includes/views/admin_options_bulk_upload.php:20
903
  msgid ""
904
  "Replace tracking info if exists? (if not checked, the tracking info will be "
905
  "added)"
907
  "Да се ​​промени ли информацията за проследяване, ако съществува? (ако не е "
908
  "отметнато, информацията за проследяване ще бъде добавена)"
909
 
910
+ #: includes/views/admin_options_bulk_upload.php:29
911
+ #: includes/views/admin_options_shipping_provider.php:119
912
+ #: includes/views/admin_options_shipping_provider.php:153
913
  msgid "Upload"
914
  msgstr "Качи"
915
 
916
+ #: includes/views/admin_options_bulk_upload.php:31
 
 
917
  msgid "Settings Saved."
918
  msgstr "Настройките са запазени."
919
 
920
+ #: includes/views/admin_options_bulk_upload.php:41
921
+ msgid "Upload Progress - "
922
+ msgstr "Качване на напредъка -"
923
+
924
+ #: includes/views/admin_options_bulk_upload.php:45
925
+ msgid "Sample CSV"
926
+ msgstr ""
927
+
928
+ #: includes/views/admin_options_bulk_upload.php:50
929
  msgid "You can download an example of the csv file:"
930
  msgstr "Можете да изтеглите пример за csv файл:"
931
 
932
+ #: includes/views/admin_options_bulk_upload.php:53
933
  msgid "Download sample csv file"
934
  msgstr "Изтеглете примерния файл csv"
935
 
936
+ #: includes/views/admin_options_bulk_upload.php:58
937
  msgid ""
938
  "For detailed instructions on how to upload tracking info in bulk, see our"
939
  msgstr ""
940
  "За подробни инструкции за това как да качите информация за проследяване в "
941
  "насипно състояние, вижте нашата"
942
 
943
+ #: includes/views/admin_options_settings.php:26
944
+ #: includes/views/admin_options_settings.php:74
945
+ #: includes/views/admin_options_settings.php:100
946
+ #: includes/views/admin_options_trackship_integration.php:93
947
+ #: includes/views/admin_options_trackship_integration.php:124
948
+ msgid "Save Changes"
949
+ msgstr ""
950
 
951
+ #: includes/views/admin_options_settings.php:40
952
+ msgid "Tracking Info Display"
953
+ msgstr ""
954
 
955
+ #: includes/views/admin_options_settings.php:49
956
+ msgid "You can customize the tracking info display on emails and my account"
957
+ msgstr ""
958
+
959
+ #: includes/views/admin_options_settings.php:52
960
+ msgid "Launch Customizer"
961
+ msgstr ""
962
 
963
+ #: includes/views/admin_options_settings.php:62
 
964
  msgid "Delivered Order Status"
965
  msgstr "Състояние на поръчката за доставка"
966
 
967
+ #: includes/views/admin_options_settings.php:88
968
+ msgid "Partial Shipped Order Status"
969
  msgstr ""
 
970
 
971
+ #: includes/views/admin_options_settings.php:94
972
+ #, php-format
973
+ msgid ""
974
+ "<strong>PLEASE NOTE</strong> - If you use the custom order status \"Partial "
975
+ "Shipped\", when you deactivate the plugin, you must register this order "
976
+ "status in function.php in order to see these orders in the orders admin. You "
977
+ "can find the <a href=\"%s\" target=\"blank\">snippet</a> to use in functions."
978
+ "php here or you can manually change all your \"partial-shipped\" order to "
979
+ "\"completed\" before deactivating the plugin."
980
+ msgstr ""
981
 
982
+ #: includes/views/admin_options_shipping_provider.php:12
983
+ #: includes/views/admin_options_shipping_provider.php:23
984
+ msgid "Active"
985
+ msgstr ""
986
+
987
+ #: includes/views/admin_options_shipping_provider.php:13
988
+ #: includes/views/admin_options_shipping_provider.php:23
989
+ msgid "Inactive"
990
+ msgstr ""
991
+
992
+ #: includes/views/admin_options_shipping_provider.php:14
993
+ msgid "Custom"
994
+ msgstr ""
995
+
996
+ #: includes/views/admin_options_shipping_provider.php:21
997
+ msgid "Add Custom Provider"
998
+ msgstr ""
999
+
1000
+ #: includes/views/admin_options_shipping_provider.php:22
1001
+ #: includes/views/admin_options_shipping_provider.php:170
1002
+ #: includes/views/admin_options_shipping_provider.php:177
1003
+ msgid "Sync Shipping Providers"
1004
+ msgstr ""
1005
+
1006
+ #: includes/views/admin_options_shipping_provider.php:23
1007
+ msgid "Reset"
1008
+ msgstr ""
1009
 
1010
+ #: includes/views/admin_options_shipping_provider.php:27
1011
+ msgid "Search by provider / country"
1012
+ msgstr ""
1013
+
1014
+ #: includes/views/admin_options_shipping_provider.php:95
1015
+ #, php-format
1016
+ msgid "You don't have any %s shipping providers."
1017
+ msgstr "Нямате доставчици за доставки на% s."
1018
+
1019
+ #: includes/views/admin_options_shipping_provider.php:101
1020
  msgid "Add Custom Shipping Provider"
1021
  msgstr "Добавете Потребителски доставчик"
1022
 
1023
+ #: includes/views/admin_options_shipping_provider.php:108
1024
+ #: includes/views/admin_options_shipping_provider.php:142
1025
+ msgid "Shipping Country"
1026
+ msgstr ""
1027
 
1028
+ #: includes/views/admin_options_shipping_provider.php:109
1029
+ #: includes/views/admin_options_shipping_provider.php:143
1030
  msgid "Global"
1031
  msgstr ""
1032
 
1033
+ #: includes/views/admin_options_shipping_provider.php:135
1034
  msgid "Edit Custom Shipping Provider"
1035
  msgstr "Редактиране на доставчик по поръчка"
1036
 
1037
+ #: includes/views/admin_options_shipping_provider.php:171
1038
+ msgid ""
1039
+ "Syncing the shipping providers list add or updates the pre-set shipping "
1040
+ "providers and will not effect custom shipping providers."
1041
+ msgstr ""
 
 
 
1042
 
1043
+ #: includes/views/admin_options_shipping_provider.php:173
1044
  msgid "Providers Added"
1045
  msgstr "Доставчиците са добавени"
1046
 
1047
+ #: includes/views/admin_options_shipping_provider.php:174
1048
  msgid "Providers Updated"
1049
  msgstr "Актуализирани доставчици"
1050
 
1051
+ #: includes/views/admin_options_shipping_provider.php:175
1052
  msgid "Providers Deleted"
1053
  msgstr "Доставчиците са изтрити"
1054
 
1055
+ #: includes/views/admin_options_trackship_integration.php:107
 
 
 
 
 
1056
  msgid "Tracking Page"
1057
  msgstr "Страница за проследяване"
1058
 
1059
+ #: includes/views/admin_options_trackship_integration.php:117
 
 
 
 
1060
  msgid "Click to preview the tracking page"
1061
  msgstr "Кликнете, за да визуализирате проследяващата страница"
1062
 
1063
+ #: includes/views/admin_options_trackship_integration.php:118
1064
  msgid "PLEASE NOTE - make sure to save your settings before preview."
1065
  msgstr ""
1066
  "МОЛЯ ЗАБЕЛЕЖКА - не забравяйте да запазите настройките си преди визуализация."
1067
 
1068
+ #: includes/views/admin_options_trackship_integration.php:137
1069
  msgid "Shipment Status Notifications "
1070
  msgstr "Известия за състоянието на пратката"
1071
 
1072
+ #: includes/views/admin_options_trackship_integration.php:163
1073
  msgid ""
1074
  "Carrier has accepted or picked up shipment from shipper. The shipment is on "
1075
  "the way."
1076
  msgstr "Превозвачът е приел или взел пратка от изпращача. Пратката е на път."
1077
 
1078
+ #: includes/views/admin_options_trackship_integration.php:177
1079
  msgid "Shipment is returned to sender"
1080
  msgstr "Пратката се връща на подателя"
1081
 
1082
+ #: includes/views/admin_options_trackship_integration.php:191
1083
  msgid "The shipment is ready to pickup."
1084
  msgstr "Пратката е готова за пикап."
1085
 
1086
+ #: includes/views/admin_options_trackship_integration.php:204
1087
  msgid "Carrier is about to deliver the shipment"
1088
  msgstr "Превозвачът е на път да достави пратката"
1089
 
1090
+ #: includes/views/admin_options_trackship_integration.php:218
1091
  msgid "The shipment was delivered successfully"
1092
  msgstr "Пратката е доставена успешно"
1093
 
1094
+ #: includes/views/admin_options_trackship_integration.php:219
1095
  msgid ""
1096
  "You already have delivered email enabled, to enable this email you'll need "
1097
  "to disable the order status delivered in settings."
1099
  "Вече сте предоставили активиран имейл, за да активирате този имейл, ще "
1100
  "трябва да деактивирате състоянието на поръчката, доставена в настройките."
1101
 
1102
+ #: includes/views/admin_options_trackship_integration.php:233
1103
  msgid ""
1104
  "Carrier attempted to deliver but failed, and usually leaves a notice and "
1105
  "will try to deliver the package again."
1107
  "Превозвачът се опита да достави, но не успя и обикновено оставя известие и "
1108
  "ще се опита да достави пакета отново."
1109
 
1110
+ #: includes/views/admin_options_tools.php:14
1111
+ msgid "Get Shipment Status"
 
 
 
 
 
 
 
 
 
 
 
 
1112
  msgstr ""
1113
 
1114
+ #: includes/views/admin_options_tools.php:23
1115
+ msgid ""
1116
+ "You can send all your orders from the last 30 days to get shipment status "
1117
+ "from TrackShip:"
 
 
1118
  msgstr ""
 
1119
 
1120
  #. %s: Order ID.
1121
+ #: templates/emails/wcast-email-order-details.php:47
1122
  #, php-format
1123
  msgid "Order number: %s"
1124
  msgstr ""
1125
  "Номер на поръчката:% s\n"
1126
 
1127
+ #. Name of the plugin
1128
+ msgid "Advanced Shipment Tracking for WooCommerce"
1129
+ msgstr ""
1130
+
1131
+ #. Description of the plugin
1132
+ msgid ""
1133
+ "Add shipment tracking information to your WooCommerce orders and provide "
1134
+ "customers with an easy way to track their orders. Shipment tracking Info "
1135
+ "will appear in customers accounts (in the order panel) and in WooCommerce "
1136
+ "order complete email."
1137
  msgstr ""
 
1138
 
1139
+ #. Author of the plugin
1140
+ msgid "zorem"
1141
+ msgstr ""
lang/woo-advanced-shipment-tracking-da_DK.mo CHANGED
Binary file
lang/woo-advanced-shipment-tracking-da_DK.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce Advanced Shipment Tracking\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2019-09-06 11:44+0000\n"
6
- "PO-Revision-Date: 2019-09-06 11:45+0000\n"
7
  "Last-Translator: gaurav <gaurav1092@zorem.com>\n"
8
  "Language-Team: Danish\n"
9
  "Language: da_DK\n"
@@ -12,9 +12,9 @@ msgstr ""
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
  "X-Generator: Loco https://localise.biz/\n"
15
- "X-Loco-Version: 2.3.0; wp-5.2.3"
16
 
17
- #: woocommerce-advanced-shipment-tracking.php:112
18
  #, php-format
19
  msgid ""
20
  "Please install and activate %sWooCommerce%s for WooCommerce Advanced "
@@ -23,8 +23,13 @@ msgstr ""
23
  "Installer og aktiver venligst% sWooCommerce% s for WooCommerce Advanced "
24
  "Shipping Tracking!"
25
 
26
- #: woocommerce-advanced-shipment-tracking.php:390
27
- #: includes/views/admin_options_settings.php:21
 
 
 
 
 
28
  #, php-format
29
  msgid ""
30
  "<strong>PLEASE NOTE</strong> - If you use the custom order status "
@@ -35,483 +40,7 @@ msgid ""
35
  "\"completed\" before deactivating the plugin."
36
  msgstr ""
37
 
38
- #: includes/class-wc-advanced-shipment-tracking-admin.php:209
39
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1144
40
- msgid "Shipped"
41
- msgstr "afsendt"
42
-
43
- #: includes/class-wc-advanced-shipment-tracking-admin.php:226
44
- #, php-format
45
- msgid "Shipped <span class=\"count\">(%s)</span>"
46
- msgid_plural "Shipped <span class=\"count\">(%s)</span>"
47
- msgstr[0] "Sendt <span class = \"count\"> (% s) </ span>"
48
- msgstr[1] "Sendt <span class = \"count\"> (% s) </ span>"
49
-
50
- #: includes/class-wc-advanced-shipment-tracking-admin.php:240
51
- msgid "Change status to shipped"
52
- msgstr "Skift status til afsendt"
53
-
54
- #: includes/class-wc-advanced-shipment-tracking-admin.php:250
55
- #: includes/class-wc-advanced-shipment-tracking-admin.php:279
56
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1594
57
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1785
58
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2190
59
- #: includes/customizer/class-wcast-customizer.php:104
60
- #: includes/customizer/class-wc-delivered-email-customizer.php:115
61
- #: includes/views/admin_options_trackship_integration.php:134
62
- msgid "Delivered"
63
- msgstr "leveres"
64
-
65
- #: includes/class-wc-advanced-shipment-tracking-admin.php:255
66
- #, php-format
67
- msgid "Delivered <span class=\"count\">(%s)</span>"
68
- msgid_plural "Delivered <span class=\"count\">(%s)</span>"
69
- msgstr[0] "Leveret <span class = \"count\"> (% s) </ span>"
70
- msgstr[1] "Leveret <span class = \"count\"> (% s) </ span>"
71
-
72
- #: includes/class-wc-advanced-shipment-tracking-admin.php:261
73
- #: includes/class-wc-advanced-shipment-tracking-admin.php:290
74
- msgid "Updated Tracking"
75
- msgstr "Opdateret sporing"
76
-
77
- #: includes/class-wc-advanced-shipment-tracking-admin.php:266
78
- #, php-format
79
- msgid "Updated Tracking <span class=\"count\">(%s)</span>"
80
- msgid_plural "Updated Tracking <span class=\"count\">(%s)</span>"
81
- msgstr[0] "Opdateret sporing <span class = \"count\"> (% s) </ span>"
82
- msgstr[1] "Opdateret sporing <span class = \"count\"> (% s) </ span>"
83
-
84
- #: includes/class-wc-advanced-shipment-tracking-admin.php:320
85
- msgid "Change status to delivered"
86
- msgstr "Skift status til levering"
87
-
88
- #: includes/class-wc-advanced-shipment-tracking-admin.php:523
89
- msgid "Shipment status"
90
- msgstr "Forsendelsesstatus"
91
-
92
- #: includes/class-wc-advanced-shipment-tracking-admin.php:622
93
- msgid ""
94
- "Get Shipment Status is limited to 100 orders at a time, please select up to "
95
- "100 orders."
96
- msgstr ""
97
-
98
- #: includes/class-wc-advanced-shipment-tracking-admin.php:667
99
- msgid "Order"
100
- msgstr "Bestille"
101
-
102
- #: includes/class-wc-advanced-shipment-tracking-admin.php:668
103
- msgid "Item"
104
- msgstr "Vare"
105
-
106
- #: includes/class-wc-advanced-shipment-tracking-admin.php:669
107
- msgid "Line Item"
108
- msgstr "Linjepost"
109
-
110
- #: includes/class-wc-advanced-shipment-tracking-admin.php:670
111
- msgid "Class"
112
- msgstr "klasse"
113
-
114
- #: includes/class-wc-advanced-shipment-tracking-admin.php:671
115
- msgid "Delete the selected rates?"
116
- msgstr "Slet de valgte satser?"
117
-
118
- #: includes/class-wc-advanced-shipment-tracking-admin.php:672
119
- msgid "Duplicate the selected rates?"
120
- msgstr "Dupliker de valgte satser?"
121
-
122
- #: includes/class-wc-advanced-shipment-tracking-admin.php:673
123
- msgid "Really want to bulk change all provider status?"
124
- msgstr "Vil virkelig bulk ændre alle udbyder status?"
125
-
126
- #: includes/class-wc-advanced-shipment-tracking-admin.php:674
127
- #: includes/views/admin_options_settings.php:26
128
- msgid "Data saved successfully."
129
- msgstr "Data gemmes med succes."
130
-
131
- #: includes/class-wc-advanced-shipment-tracking-admin.php:675
132
- msgid "Really delete this entry? This will not be undo."
133
- msgstr "Vil du virkelig slette denne post? Dette vil ikke blive fortrydt."
134
-
135
- #: includes/class-wc-advanced-shipment-tracking-admin.php:676
136
- msgid "You can upload only csv file."
137
- msgstr "Du kan kun uploade csv-filen."
138
-
139
- #: includes/class-wc-advanced-shipment-tracking-admin.php:677
140
- msgid "This browser does not support HTML5."
141
- msgstr "Denne browser understøtter ikke HTML5."
142
-
143
- #: includes/class-wc-advanced-shipment-tracking-admin.php:678
144
- msgid "Please upload a valid CSV file."
145
- msgstr "Upload venligst en gyldig CSV-fil."
146
-
147
- #: includes/class-wc-advanced-shipment-tracking-admin.php:736
148
- msgid "Shipping Providers"
149
- msgstr "Forsendelsesleverandører"
150
-
151
- #: includes/class-wc-advanced-shipment-tracking-admin.php:739
152
- msgid "Settings"
153
- msgstr "Indstillinger"
154
-
155
- #: includes/class-wc-advanced-shipment-tracking-admin.php:742
156
- msgid "Bulk Upload"
157
- msgstr "Bulk Upload"
158
-
159
- #: includes/class-wc-advanced-shipment-tracking-admin.php:745
160
- msgid "TrackShip"
161
- msgstr ""
162
-
163
- #: includes/class-wc-advanced-shipment-tracking-admin.php:880
164
- msgid "Connected"
165
- msgstr ""
166
- "forbundet\n"
167
-
168
- #: includes/class-wc-advanced-shipment-tracking-admin.php:886
169
- msgid ""
170
- "Auto-track all your shipments, get real-time shipment tracking updates "
171
- "without leaving your stores admin."
172
- msgstr ""
173
- "Auto-spor alle dine forsendelser, få opdateringsopdateringer i realtid uden "
174
- "at forlade dine butikker.\n"
175
-
176
- #: includes/class-wc-advanced-shipment-tracking-admin.php:889
177
- #, php-format
178
- msgid ""
179
- "You must have account and connect your store to %s in order to activate "
180
- "these advanced features."
181
- msgstr ""
182
- "Du skal have en konto og forbinde din butik til% s for at aktivere disse "
183
- "avancerede funktioner.\n"
184
-
185
- #: includes/class-wc-advanced-shipment-tracking-admin.php:892
186
- #, php-format
187
- msgid "50 free Trackers for every new account! Get your %s account now>>"
188
- msgstr ""
189
- "50 gratis Trackers for hver ny konto! Få din% s konto nu >>\n"
190
-
191
- #: includes/class-wc-advanced-shipment-tracking-admin.php:988
192
- msgid "TrackShip Connection Status"
193
- msgstr "TrackShip-forbindelsesstatus"
194
-
195
- #: includes/class-wc-advanced-shipment-tracking-admin.php:995
196
- #: includes/emails/class-shipment-delivered-email.php:226
197
- msgid "Enable/Disable"
198
- msgstr "Aktivere deaktivere"
199
-
200
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1001
201
- msgid "Set order status Delivered when order is delivered"
202
- msgstr ""
203
- "Indstil ordrestatus Leveres, når ordren leveres\n"
204
-
205
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1008
206
- #, php-format
207
- msgid ""
208
- "You have %s %s orders that you can track with TrackShip, you can send these "
209
- "shipments to TrackShip in Bulk."
210
- msgstr ""
211
-
212
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1009
213
- msgid "Get Shipment Status"
214
- msgstr ""
215
-
216
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1047
217
- msgid ""
218
- "You must add the shortcode [wcast-track-order] to the \"page name\" in order "
219
- "for the tracking page to work."
220
- msgstr ""
221
-
222
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1055
223
- msgid "Select Tracking Page"
224
- msgstr ""
225
- "Vælg Sporingsside\n"
226
-
227
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1063
228
- #: includes/customizer/class-wc-tracking-page-customizer.php:150
229
- msgid "Remove Trackship branding from tracking page"
230
- msgstr ""
231
- "Fjern Trackship branding fra sporingsside\n"
232
-
233
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1069
234
- msgid "Use the tracking page in the customer email/my account tracking link"
235
- msgstr ""
236
- "Brug sporingssiden i kundens email / min konto tracking link\n"
237
-
238
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1075
239
- msgid "Select primary color for tracking page"
240
- msgstr ""
241
- "Vælg primær farve til sporingsside\n"
242
-
243
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1081
244
- msgid "Select content border color for tracking page"
245
- msgstr ""
246
- "Vælg indholdsfarvefarve for sporingsside\n"
247
-
248
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1145
249
- msgid ""
250
- "Default \"mark as <span class=\"shipped_label\">shipped</span>\" checkbox "
251
- "state"
252
- msgstr ""
253
-
254
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1146
255
- msgid ""
256
- "This means that the 'mark as <span class='shipped_label'>shipped</span>' "
257
- "will be selected by default when adding tracking info to orders."
258
- msgstr ""
259
-
260
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1148
261
- msgid "Completed"
262
- msgstr "afsluttet"
263
-
264
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1149
265
- msgid ""
266
- "Default \"mark as <span class=\"shipped_label\">completed</span>\" checkbox "
267
- "state"
268
- msgstr ""
269
-
270
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1150
271
- msgid ""
272
- "This means that the 'mark as <span class='shipped_label'>completed</span>' "
273
- "will be selected by default when adding tracking info to orders."
274
- msgstr ""
275
-
276
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1156
277
- msgid "Rename the “Completed” Order status to “Shipped”"
278
- msgstr "Omdøb \"Afsluttet\" Ordre status til \"Sendt\""
279
-
280
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1169
281
- msgid "On which customer order status email to include tracking info?"
282
- msgstr "På hvilken kundeordres status-e-mail for at inkludere sporingsinfo?"
283
-
284
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1170
285
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2192
286
- msgid "Cancelled"
287
- msgstr "Aflyst"
288
-
289
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1171
290
- msgid "Customer Invoice"
291
- msgstr "Kundefaktura"
292
-
293
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1172
294
- msgid "Refunded"
295
- msgstr "refunderet"
296
-
297
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1173
298
- msgid "Processing"
299
- msgstr "Forarbejdning"
300
-
301
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1174
302
- msgid "Failed"
303
- msgstr "mislykkedes"
304
-
305
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1182
306
- msgid "Show tracking info in Invoice"
307
- msgstr "Vis sporingsinfo i faktura"
308
-
309
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1188
310
- msgid "Show tracking info in Packing Slip"
311
- msgstr "Vis sporingsinfo i pakkeseddel"
312
-
313
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1205
314
- msgid "Enable a New Custom order status - “Delivered”"
315
- msgstr "Aktivér en ny brugerdefineret ordrestatus - \"Leveret\""
316
-
317
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1206
318
- msgid ""
319
- "if you enable the delivered item, you will have the option to send delivered "
320
- "email notifications."
321
- msgstr ""
322
- "Hvis du aktiverer den leverede vare, har du mulighed for at sende leverede "
323
- "email-meddelelser."
324
-
325
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1212
326
- msgid "Delivered Status Label color"
327
- msgstr "Leveret Status Label farve"
328
-
329
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1218
330
- #: includes/customizer/class-wcast-customizer.php:58
331
- #: includes/customizer/class-wc-email-customizer.php:155
332
- msgid "Delivered order status email"
333
- msgstr ""
334
- "Leveret ordre status email\n"
335
-
336
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1219
337
- #: includes/views/admin_options_trackship_integration.php:80
338
- #: includes/views/admin_options_trackship_integration.php:94
339
- #: includes/views/admin_options_trackship_integration.php:108
340
- #: includes/views/admin_options_trackship_integration.php:121
341
- #: includes/views/admin_options_trackship_integration.php:135
342
- #: includes/views/admin_options_trackship_integration.php:150
343
- msgid "Edit"
344
- msgstr "Editar"
345
-
346
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1236
347
- msgid ""
348
- "Change the \"Delivered\" orders to \"Completed\" when you deactivate the "
349
- "plugin"
350
- msgstr "Skift \"Leverede\" ordrer til \"Afsluttet\", når du deaktiverer plugin"
351
-
352
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1238
353
- msgid "No, I will use the snippet"
354
- msgstr "Nej, jeg vil bruge uddraget"
355
-
356
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1239
357
- msgid "Yes, change all Delivered orders to Completed"
358
- msgstr "Ja, skift alle leverede ordrer til Afsluttet"
359
-
360
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1241
361
- #, php-format
362
- msgid ""
363
- "PLEASE NOTE - If you use the custom order status \"Delivered\", when you "
364
- "deactivate the plugin, you must register this order status in function.php "
365
- "in order to see these orders in the orders admin. You can find the snippet "
366
- "to use in functions.php %s or we can set to change all your \"delivered\" "
367
- "order to \"completed\"."
368
- msgstr ""
369
- "BEMÆRK - Hvis du bruger den tilpassede ordrestatus \"Leveret\", skal du "
370
- "registrere denne ordrestatus i function.php, når du deaktiverer plugin'en "
371
- "for at se disse ordrer i ordreadministratoren. Du kan finde kodestykket at "
372
- "bruge i functions.php% s eller vi kan indstille til at ændre al din "
373
- "\"leverede\" ordre til \"afsluttet\"."
374
-
375
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1560
376
- msgid "Get shipment status"
377
- msgstr ""
378
- "Få forsendelsesstatus\n"
379
-
380
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1588
381
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2187
382
- #: includes/customizer/class-wcast-customizer.php:74
383
- #: includes/customizer/class-wc-intransit-email-customizer.php:115
384
- #: includes/views/admin_options_trackship_integration.php:79
385
- msgid "In Transit"
386
- msgstr "Undervejs"
387
-
388
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1591
389
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2186
390
- #: includes/customizer/class-wcast-customizer.php:66
391
- msgid "Pre Transit"
392
- msgstr ""
393
- "Pre Transit\n"
394
-
395
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1597
396
- msgid "Out for delivery"
397
- msgstr ""
398
- "Ud for levering\n"
399
-
400
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1600
401
- #: includes/customizer/class-wcast-customizer.php:89
402
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:116
403
- #: includes/views/admin_options_trackship_integration.php:107
404
- msgid "Available For Pickup"
405
- msgstr ""
406
- "Klar til afhentning\n"
407
-
408
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1603
409
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2194
410
- #: includes/customizer/class-wcast-customizer.php:82
411
- #: includes/customizer/class-wc-returntosender-email-customizer.php:116
412
- #: includes/views/admin_options_trackship_integration.php:93
413
- msgid "Return To Sender"
414
- msgstr ""
415
- "Retur til Afsender\n"
416
-
417
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1606
418
- msgid "Delivery Failure"
419
- msgstr ""
420
- "Leveringsfejl\n"
421
-
422
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1609
423
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2185
424
- msgid "Unknown"
425
- msgstr "Ukendt"
426
-
427
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1612
428
- msgid "Pending TrackShip"
429
- msgstr ""
430
- "Afventer TrackShip\n"
431
-
432
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1615
433
- msgid "Invalid Tracking"
434
- msgstr ""
435
- "Ugyldig sporing\n"
436
-
437
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1618
438
- msgid "Carrier unsupported"
439
- msgstr ""
440
- "Carrier understøttes ikke\n"
441
-
442
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1621
443
- msgid "Invalid User Key"
444
- msgstr ""
445
-
446
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1687
447
- msgid "Resend delivered order notification"
448
- msgstr "Send leveret ordreanmeldelse igen"
449
-
450
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1745
451
- msgid "Shipped Order"
452
- msgstr "Sendt ordre"
453
-
454
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1764
455
- msgid "Mark order as delivered"
456
- msgstr "Markér ordre som leveret"
457
-
458
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1771
459
- msgid "Add Tracking"
460
- msgstr ""
461
-
462
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1797
463
- msgid "Change order status to"
464
- msgstr "Skift ordrestatus til"
465
-
466
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1892
467
- #: includes/views/admin_options_shipping_provider.php:88
468
- #, php-format
469
- msgid "You don't have any %s shipping providers."
470
- msgstr "Du har ikke% s forsendelsesudbydere."
471
-
472
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2145
473
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2157
474
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2169
475
- msgid "view details"
476
- msgstr "Se detaljer"
477
-
478
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2146
479
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2158
480
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2170
481
- msgid "hide details"
482
- msgstr "Gem detaljer"
483
-
484
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2188
485
- msgid "Available for Pickup"
486
- msgstr ""
487
-
488
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2189
489
- msgid "Out for Delivery"
490
- msgstr ""
491
-
492
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2191
493
- #: includes/customizer/class-wcast-customizer.php:112
494
- #: includes/customizer/class-wc-failure-email-customizer.php:113
495
- #: includes/views/admin_options_trackship_integration.php:149
496
- msgid "Failed Attempt"
497
- msgstr "Mislykket forsøg"
498
-
499
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2193
500
- msgid "Carrier Unsupported"
501
- msgstr ""
502
-
503
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2195
504
- #: includes/class-wc-advanced-shipment-tracking-front.php:457
505
- #: includes/class-wc-advanced-shipment-tracking-front.php:813
506
- msgid "Invalid Tracking Number"
507
- msgstr ""
508
- "Ugyldigt sporingsnummer\n"
509
-
510
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2200
511
- msgid "Filter by shipment status"
512
- msgstr ""
513
-
514
- #: includes/class-wc-advanced-shipment-tracking-front.php:138
515
  msgid ""
516
  "To track your order please enter your Order ID in the box below and press "
517
  "the \"Track\" button. This was given to you on your receipt and in the "
@@ -521,179 +50,309 @@ msgstr ""
521
  "trykke på knappen \"Spor\". Dette blev givet til dig på din kvittering og i "
522
  "den bekræftelses e-mail, du skulle have modtaget.\n"
523
 
524
- #: includes/class-wc-advanced-shipment-tracking-front.php:139
525
- msgid "Order ID"
526
- msgstr ""
527
- "Ordre ID\n"
528
-
529
- #: includes/class-wc-advanced-shipment-tracking-front.php:139
530
- #: includes/class-wc-advanced-shipment-tracking-front.php:140
531
  msgid "Found in your order confirmation email."
532
  msgstr ""
533
  "Findes i din ordrebekræftelses-email.\n"
534
 
535
- #: includes/class-wc-advanced-shipment-tracking-front.php:140
536
  msgid "Order Email"
537
  msgstr ""
538
  "Bestil Email\n"
539
 
540
- #: includes/class-wc-advanced-shipment-tracking-front.php:143
541
  #: includes/class-wc-advanced-shipment-tracking.php:260
542
- #: includes/class-wc-advanced-shipment-tracking.php:637
543
- #: includes/class-wc-advanced-shipment-tracking.php:763
544
- #: includes/customizer/class-wc-tracking-info-customizer.php:137
545
- #: includes/customizer/class-wc-tracking-info-customizer.php:381
546
- #: includes/views/html-tracking-info-design-preview.php:69
547
- #: templates/emails/tracking-info.php:152
548
- #: templates/myaccount/view-order.php:123 templates/pip/tracking-info.php:23
549
  msgid "Track"
550
  msgstr "Spor pakke"
551
 
552
- #: includes/class-wc-advanced-shipment-tracking-front.php:307
553
- #: includes/class-wc-advanced-shipment-tracking-front.php:662
554
  #, php-format
555
  msgid "Shipment - %s (out of %s)"
556
  msgstr ""
557
  "Forsendelse -% s (ud af% s)\n"
558
 
559
- #: includes/class-wc-advanced-shipment-tracking-front.php:311
560
- #: includes/class-wc-advanced-shipment-tracking-front.php:666
561
- msgid "Order: "
562
- msgstr "Bestille:"
563
-
564
- #: includes/class-wc-advanced-shipment-tracking-front.php:320
565
- #: includes/class-wc-advanced-shipment-tracking-front.php:324
566
- #: includes/class-wc-advanced-shipment-tracking-front.php:675
567
- #: includes/class-wc-advanced-shipment-tracking-front.php:679
568
  msgid "Estimated Delivery Date: "
569
  msgstr "Forventet leveringsdato:"
570
 
571
- #: includes/class-wc-advanced-shipment-tracking-front.php:429
572
- #: includes/class-wc-advanced-shipment-tracking-front.php:785
 
573
  msgid "Tracking Details"
574
  msgstr "Sporingsdetaljer"
575
 
576
- #: includes/class-wc-advanced-shipment-tracking-front.php:448
577
- #: includes/class-wc-advanced-shipment-tracking-front.php:804
 
578
  msgid "view more"
579
  msgstr "Se mere"
580
 
581
- #: includes/class-wc-advanced-shipment-tracking-front.php:449
582
- #: includes/class-wc-advanced-shipment-tracking-front.php:805
 
583
  msgid "view less"
584
  msgstr "se mindre"
585
 
586
- #. esc_html__( '%1$s %2$s.' ),
587
- #: includes/class-wc-advanced-shipment-tracking-install.php:1583
588
- #, php-format
589
- msgid ""
590
- "We added many improvements to %1$s, please help and give us a review :) "
591
- "Thanks!"
 
592
  msgstr ""
593
- "Vi tilføjede mange forbedringer til% 1 $ s, hjælp venligst og giv os en "
594
- "anmeldelse :) Tak!"
595
 
596
- #: includes/class-wc-advanced-shipment-tracking.php:93
597
  #: includes/class-wc-advanced-shipment-tracking.php:244
598
- #: includes/customizer/class-wcast-customizer.php:30
599
  msgid "Shipment Tracking"
600
  msgstr "Forsendelsessporing"
601
 
602
- #: includes/class-wc-advanced-shipment-tracking.php:179
603
- #: includes/class-wc-advanced-shipment-tracking.php:351
604
- msgid "Change order to Shipped?"
605
- msgstr ""
606
-
607
- #: includes/class-wc-advanced-shipment-tracking.php:181
608
  #: includes/class-wc-advanced-shipment-tracking.php:353
609
- msgid "Change order to Completed?"
610
  msgstr ""
611
 
612
  #: includes/class-wc-advanced-shipment-tracking.php:186
613
- msgid "Add Tracking Number"
 
614
  msgstr ""
615
 
616
  #: includes/class-wc-advanced-shipment-tracking.php:191
617
- #: includes/class-wc-advanced-shipment-tracking.php:369
 
 
 
 
618
  msgid "Provider:"
619
  msgstr "udbyder:"
620
 
621
- #: includes/class-wc-advanced-shipment-tracking.php:211
622
- #: includes/class-wc-advanced-shipment-tracking.php:407
623
  msgid "Tracking number:"
624
  msgstr "Tracking nummer:"
625
 
626
- #: includes/class-wc-advanced-shipment-tracking.php:217
627
- #: includes/class-wc-advanced-shipment-tracking.php:415
628
  msgid "Date shipped:"
629
  msgstr "Dato afsendt:"
630
 
 
 
 
 
 
 
631
  #: includes/class-wc-advanced-shipment-tracking.php:260
632
- #: templates/pip/tracking-info.php:23
633
  msgid "Click here to track your shipment"
634
  msgstr "Klik her for at spore din forsendelse"
635
 
636
  #. 1: shipping date
637
  #: includes/class-wc-advanced-shipment-tracking.php:268
638
- #: templates/pip/tracking-info.php:29
639
  #, php-format
640
  msgid "Shipped on %s"
641
  msgstr "Sendes på% s"
642
 
643
- #: includes/class-wc-advanced-shipment-tracking.php:269
644
- msgid "Delete"
645
- msgstr "Slet"
646
-
647
- #: includes/class-wc-advanced-shipment-tracking.php:365
648
  msgid "Add Tracking Info"
649
  msgstr "Tilføj sporingsinfo"
650
 
651
- #: includes/class-wc-advanced-shipment-tracking.php:370
652
  msgid "Select Provider"
653
  msgstr "Vælg Udbyder"
654
 
655
- #: includes/class-wc-advanced-shipment-tracking.php:430
656
  msgid "Save Tracking"
657
  msgstr "Gem sporing"
658
 
659
- #: includes/class-wc-advanced-shipment-tracking.php:431
660
  msgid "Preview:"
661
  msgstr "Eksempel:"
662
 
663
- #: includes/class-wc-advanced-shipment-tracking.php:431
664
- msgid "Click here to track shipment"
665
- msgstr "Klik her for at spore forsendelsen"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
666
 
667
- #: includes/customizer/class-wcast-customizer.php:39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
668
  msgid "Shipment Status Emails"
669
  msgstr "Sendingsstatus-e-mails"
670
 
671
- #: includes/customizer/class-wcast-customizer.php:50
672
  msgid "Tracking info display"
673
  msgstr ""
674
  "Tracking info display\n"
675
 
676
- #: includes/customizer/class-wcast-customizer.php:51
677
- msgid "This section lets you customize the Tracking Info display design."
678
- msgstr "Dette afsnit lader dig tilpasse skærmdesignet til sporingsinfo."
 
 
 
 
 
 
 
679
 
680
- #: includes/customizer/class-wcast-customizer.php:96
681
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:115
682
- #: includes/views/admin_options_trackship_integration.php:120
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
683
  msgid "Out For Delivery"
684
  msgstr "Ud for levering"
685
 
686
- #: includes/customizer/class-wcast-customizer.php:352
 
 
 
 
 
 
 
 
 
 
 
 
687
  msgid "Select order to preview"
688
  msgstr ""
689
  "Vælg rækkefølge for at forhåndsvise\n"
690
 
691
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:115
692
  msgid "Your order #{order_number} is available for pickup"
693
  msgstr ""
694
  "Din ordre # {order_number} er tilgængelig til afhentning\n"
695
 
696
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:117
697
  msgid ""
698
  "Hi there. we thought you'd like to know that your recent order from "
699
  "{site_title} is available for pickup."
@@ -701,224 +360,188 @@ msgstr ""
701
  "Hej. vi troede, at du gerne vil vide, at din seneste ordre fra {site_title} "
702
  "er tilgængelig til afhentning.\n"
703
 
704
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:148
705
  msgid "Available For Pickup shipment status email"
706
  msgstr ""
707
  "Tilgængelig til afhentningsstatus for afsendelsesstatus\n"
708
 
709
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:149
710
- #: includes/customizer/class-wc-delivered-email-customizer.php:148
711
- #: includes/customizer/class-wc-email-customizer.php:156
712
- #: includes/customizer/class-wc-failure-email-customizer.php:145
713
- #: includes/customizer/class-wc-intransit-email-customizer.php:147
714
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:148
715
- #: includes/customizer/class-wc-returntosender-email-customizer.php:149
 
716
  msgid "This section lets you customize the Email Content."
717
  msgstr ""
718
  "Dette afsnit giver dig mulighed for at tilpasse e-mailindholdet.\n"
719
 
720
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:163
721
  msgid "Enable Available For Pickup shipment status email"
722
  msgstr ""
723
  "Aktivér tilgængelig for afhentningsstatus for e-mail\n"
724
 
725
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:179
726
- #: includes/customizer/class-wc-delivered-email-customizer.php:178
727
- #: includes/customizer/class-wc-email-customizer.php:189
728
- #: includes/customizer/class-wc-failure-email-customizer.php:175
729
- #: includes/customizer/class-wc-intransit-email-customizer.php:178
730
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:178
731
- #: includes/customizer/class-wc-returntosender-email-customizer.php:179
732
- #: includes/customizer/class-wc-tracking-info-customizer.php:161
 
733
  msgid "Preview order"
734
  msgstr ""
735
  "Forhåndsvis rækkefølge\n"
736
 
737
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:200
738
- #: includes/customizer/class-wc-delivered-email-customizer.php:199
739
- #: includes/customizer/class-wc-failure-email-customizer.php:196
740
- #: includes/customizer/class-wc-intransit-email-customizer.php:199
741
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:199
742
- #: includes/customizer/class-wc-returntosender-email-customizer.php:200
743
- msgid "To"
744
- msgstr "Til"
745
-
746
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:201
747
- #: includes/customizer/class-wc-delivered-email-customizer.php:200
748
- #: includes/customizer/class-wc-failure-email-customizer.php:197
749
- #: includes/customizer/class-wc-intransit-email-customizer.php:200
750
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:200
751
- #: includes/customizer/class-wc-returntosender-email-customizer.php:201
752
- msgid ""
753
- "Enter emails here or use variables such as {customer_email}. Multiple emails "
754
- "can be separated by commas."
755
- msgstr ""
756
- "Indtast e-mails her eller brug variabler som {customer_email}. Flere e-mails "
757
- "kan adskilles med kommaer."
758
-
759
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:207
760
- #: includes/customizer/class-wc-delivered-email-customizer.php:206
761
- #: includes/customizer/class-wc-email-customizer.php:218
762
- #: includes/customizer/class-wc-failure-email-customizer.php:203
763
- #: includes/customizer/class-wc-intransit-email-customizer.php:206
764
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:206
765
- #: includes/customizer/class-wc-returntosender-email-customizer.php:207
766
  msgid "E.g. {customer.email}, admin@example.org"
767
  msgstr "F.eks {customer.email}, admin@example.org"
768
 
769
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:222
770
- #: includes/customizer/class-wc-delivered-email-customizer.php:221
771
- #: includes/customizer/class-wc-email-customizer.php:234
772
- #: includes/customizer/class-wc-failure-email-customizer.php:218
773
- #: includes/customizer/class-wc-intransit-email-customizer.php:221
774
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:221
775
- #: includes/customizer/class-wc-returntosender-email-customizer.php:222
776
- msgid "Email subject"
777
- msgstr "Email emne"
778
-
779
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:223
780
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:245
781
- #: includes/customizer/class-wc-delivered-email-customizer.php:222
782
- #: includes/customizer/class-wc-delivered-email-customizer.php:244
783
- #: includes/customizer/class-wc-failure-email-customizer.php:219
784
- #: includes/customizer/class-wc-failure-email-customizer.php:241
785
- #: includes/customizer/class-wc-intransit-email-customizer.php:222
786
- #: includes/customizer/class-wc-intransit-email-customizer.php:244
787
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:222
788
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:244
789
- #: includes/customizer/class-wc-returntosender-email-customizer.php:223
790
- #: includes/customizer/class-wc-returntosender-email-customizer.php:245
791
  msgid "Available placeholders: {site_title}, {order_number}"
792
  msgstr "Tilgængelige pladsholdere: {site_title}, {order_number}"
793
 
794
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:229
795
- #: includes/customizer/class-wc-delivered-email-customizer.php:228
796
- #: includes/customizer/class-wc-email-customizer.php:241
797
- #: includes/customizer/class-wc-failure-email-customizer.php:225
798
- #: includes/customizer/class-wc-intransit-email-customizer.php:228
799
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:228
800
- #: includes/customizer/class-wc-returntosender-email-customizer.php:229
 
801
  msgid "Please enter email subject here"
802
  msgstr "Indtast venligst e-mail-emne her"
803
 
804
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:244
805
- #: includes/customizer/class-wc-delivered-email-customizer.php:243
806
- #: includes/customizer/class-wc-email-customizer.php:257
807
- #: includes/customizer/class-wc-failure-email-customizer.php:240
808
- #: includes/customizer/class-wc-intransit-email-customizer.php:243
809
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:243
810
- #: includes/customizer/class-wc-returntosender-email-customizer.php:244
811
- #: includes/emails/class-shipment-delivered-email.php:250
812
- msgid "Email heading"
813
- msgstr "E-mail overskrift"
814
-
815
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:251
816
- #: includes/customizer/class-wc-delivered-email-customizer.php:250
817
- #: includes/customizer/class-wc-email-customizer.php:264
818
- #: includes/customizer/class-wc-failure-email-customizer.php:247
819
- #: includes/customizer/class-wc-intransit-email-customizer.php:250
820
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:250
821
- #: includes/customizer/class-wc-returntosender-email-customizer.php:251
822
  msgid "Please enter email heading here"
823
  msgstr "Indtast venligst e-mail-overskrift her"
824
 
825
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:266
826
- #: includes/customizer/class-wc-delivered-email-customizer.php:265
827
- #: includes/customizer/class-wc-failure-email-customizer.php:262
828
- #: includes/customizer/class-wc-intransit-email-customizer.php:265
829
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:265
830
- #: includes/customizer/class-wc-returntosender-email-customizer.php:266
831
  msgid "Show tracking details"
832
  msgstr ""
833
  "Vis sporingsoplysninger\n"
834
 
835
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:282
836
- #: includes/customizer/class-wc-delivered-email-customizer.php:281
837
- #: includes/customizer/class-wc-failure-email-customizer.php:278
838
- #: includes/customizer/class-wc-intransit-email-customizer.php:281
839
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:281
840
- #: includes/customizer/class-wc-returntosender-email-customizer.php:282
841
  msgid "Show order details"
842
  msgstr ""
843
  "Vis bestilling detaljer\n"
844
 
845
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:298
846
- #: includes/customizer/class-wc-delivered-email-customizer.php:297
847
- #: includes/customizer/class-wc-failure-email-customizer.php:294
848
- #: includes/customizer/class-wc-intransit-email-customizer.php:297
849
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:297
850
- #: includes/customizer/class-wc-returntosender-email-customizer.php:298
851
  msgid "Show billing address"
852
  msgstr ""
853
  "Vis faktureringsadresse\n"
854
 
855
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:315
856
- #: includes/customizer/class-wc-delivered-email-customizer.php:314
857
- #: includes/customizer/class-wc-failure-email-customizer.php:311
858
- #: includes/customizer/class-wc-intransit-email-customizer.php:314
859
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:314
860
- #: includes/customizer/class-wc-returntosender-email-customizer.php:315
861
  msgid "Show shipping address"
862
  msgstr ""
863
  "Vis forsendelsesadresse\n"
864
 
865
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:331
866
- #: includes/customizer/class-wc-delivered-email-customizer.php:330
867
- #: includes/customizer/class-wc-email-customizer.php:384
868
- #: includes/customizer/class-wc-failure-email-customizer.php:327
869
- #: includes/customizer/class-wc-intransit-email-customizer.php:350
870
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:330
871
- #: includes/customizer/class-wc-returntosender-email-customizer.php:331
872
  msgid "Google Analytics link tracking"
873
  msgstr ""
874
 
875
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:332
876
- #: includes/customizer/class-wc-delivered-email-customizer.php:331
877
- #: includes/customizer/class-wc-failure-email-customizer.php:328
878
- #: includes/customizer/class-wc-intransit-email-customizer.php:351
879
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:331
880
- #: includes/customizer/class-wc-returntosender-email-customizer.php:332
881
  msgid "This will be appended to URL in the email content"
882
  msgstr ""
883
 
884
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:353
885
- #: includes/customizer/class-wc-delivered-email-customizer.php:352
886
- #: includes/customizer/class-wc-email-customizer.php:280
887
- #: includes/customizer/class-wc-failure-email-customizer.php:349
888
- #: includes/customizer/class-wc-intransit-email-customizer.php:331
889
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:352
890
- #: includes/customizer/class-wc-returntosender-email-customizer.php:353
 
891
  msgid "Email content"
892
  msgstr "Email indhold"
893
 
894
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:372
895
- #: includes/customizer/class-wc-delivered-email-customizer.php:372
896
- #: includes/customizer/class-wc-email-customizer.php:405
897
- #: includes/customizer/class-wc-failure-email-customizer.php:369
898
- #: includes/customizer/class-wc-intransit-email-customizer.php:372
899
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:372
900
- #: includes/customizer/class-wc-returntosender-email-customizer.php:373
 
901
  msgid "Available placeholders"
902
  msgstr ""
903
  "Tilgængelige pladsholdere\n"
904
 
905
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:416
906
- #: includes/customizer/class-wc-delivered-email-customizer.php:416
907
- #: includes/customizer/class-wc-email-customizer.php:437
908
- #: includes/customizer/class-wc-failure-email-customizer.php:412
909
- #: includes/customizer/class-wc-intransit-email-customizer.php:415
910
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:415
911
- #: includes/customizer/class-wc-returntosender-email-customizer.php:417
912
- #: includes/customizer/class-wc-tracking-info-customizer.php:730
913
- msgid "Please select preview order."
 
914
  msgstr ""
915
- "Vælg venligst forhåndsvisningsordre.\n"
916
 
917
- #: includes/customizer/class-wc-delivered-email-customizer.php:114
918
  msgid "Your order #{order_number} has been delivered"
919
  msgstr ""
920
 
921
- #: includes/customizer/class-wc-delivered-email-customizer.php:116
 
922
  msgid ""
923
  "Hi there. we thought you'd like to know that your recent order from "
924
  "{site_title} has been Delivered."
@@ -926,95 +549,78 @@ msgstr ""
926
  "Hej. vi troede, at du gerne vil vide, at din seneste ordre fra {site_title} "
927
  "er blevet leveret.\n"
928
 
929
- #: includes/customizer/class-wc-delivered-email-customizer.php:147
930
  msgid "Delivered shipment status email"
931
  msgstr ""
932
  "Leveret status for afsendelsesstatus\n"
933
 
934
- #: includes/customizer/class-wc-delivered-email-customizer.php:162
935
  msgid "Enable Delivered shipment status email"
936
  msgstr ""
937
  "Aktivér leveret e-mail med leveringsstatus\n"
938
 
939
- #: includes/customizer/class-wc-email-customizer.php:122
940
- #: includes/emails/class-shipment-delivered-email.php:92
941
  msgid "Your {site_title} order is now delivered"
942
  msgstr ""
943
  "Din {site_title} ordre er nu leveret\n"
944
 
945
- #: includes/customizer/class-wc-email-customizer.php:123
946
- #: includes/emails/class-shipment-delivered-email.php:102
947
- msgid "Thanks for shopping with us"
948
- msgstr ""
949
- "Tak for at shoppe hos os\n"
950
-
951
- #: includes/customizer/class-wc-email-customizer.php:124
952
- msgid "Hi there. Your recent order on {site_title} has been delivered."
953
- msgstr ""
954
- "Hej. Din seneste ordre på {site_title} er blevet leveret.\n"
955
-
956
- #: includes/customizer/class-wc-email-customizer.php:171
957
  msgid "Enable Delivered order status email"
958
  msgstr ""
959
  "Aktivér leveret ordre status email\n"
960
 
961
- #: includes/customizer/class-wc-email-customizer.php:193
962
- #: includes/customizer/class-wc-tracking-info-customizer.php:165
 
963
  msgid "Please select a order..."
964
  msgstr "Vælg venligst en ordre ..."
965
 
966
- #: includes/customizer/class-wc-email-customizer.php:211
967
- msgid "Receipts"
968
- msgstr ""
969
-
970
- #: includes/customizer/class-wc-email-customizer.php:212
971
- msgid ""
972
- "Enter emails use variables such as {customer_email}. Multiple emails can be "
973
- "separated by commas."
974
- msgstr ""
975
-
976
- #: includes/customizer/class-wc-email-customizer.php:235
977
- #: includes/customizer/class-wc-email-customizer.php:258
978
  msgid "Available variables: {site_title}, {order_number}"
979
  msgstr ""
980
 
981
- #: includes/customizer/class-wc-email-customizer.php:281
 
982
  msgid ""
983
  "available variables: {site_title}, {customer_email}, {customer_first_name}, "
984
  "{customer_last_name}, {customer_username}, {order_number}"
985
  msgstr ""
986
 
987
- #: includes/customizer/class-wc-email-customizer.php:300
988
  msgid "Display tracking details"
989
  msgstr ""
990
 
991
- #: includes/customizer/class-wc-email-customizer.php:316
992
  msgid "Display order details"
993
  msgstr ""
994
 
995
- #: includes/customizer/class-wc-email-customizer.php:333
996
  msgid "Display Shipping Address"
997
  msgstr ""
998
 
999
- #: includes/customizer/class-wc-email-customizer.php:350
1000
  msgid "Display Billing Address"
1001
  msgstr ""
1002
 
1003
- #: includes/customizer/class-wc-email-customizer.php:367
1004
  msgid "Enable Google Analytics tracking"
1005
  msgstr ""
1006
 
1007
- #: includes/customizer/class-wc-email-customizer.php:385
1008
  msgid ""
1009
  "This will be appended to URL in the email content – e.g. "
1010
  "utm_source=ast&utm_medium=email&utm_campaign=delivered"
1011
  msgstr ""
1012
 
1013
- #: includes/customizer/class-wc-failure-email-customizer.php:112
1014
  msgid "Your order #{order_number} is Failed Attempt"
1015
  msgstr "Din ordre # {order_nummer} er mislykket"
1016
 
1017
- #: includes/customizer/class-wc-failure-email-customizer.php:114
1018
  msgid ""
1019
  "Hi there. we thought you'd like to know that your recent order from "
1020
  "{site_title} is Failed Attempt"
@@ -1022,20 +628,20 @@ msgstr ""
1022
  "Hej. vi troede, du gerne vil vide, at din seneste ordre fra {site_title} er "
1023
  "mislykket forsøg"
1024
 
1025
- #: includes/customizer/class-wc-failure-email-customizer.php:144
1026
  msgid "Failed Attempt shipment status email"
1027
  msgstr "Mislykket Forsøg på e-mail med forsendelsesstatus"
1028
 
1029
- #: includes/customizer/class-wc-failure-email-customizer.php:159
1030
  msgid "Enable Failed Attempt shipment status email"
1031
  msgstr "Aktivér mislykket forsøg på e-mail med status for forsendelse"
1032
 
1033
- #: includes/customizer/class-wc-intransit-email-customizer.php:114
1034
  msgid "Your order #{order_number} is in transit"
1035
  msgstr ""
1036
  "Din ordre # {order_number} er i transit\n"
1037
 
1038
- #: includes/customizer/class-wc-intransit-email-customizer.php:116
1039
  msgid ""
1040
  "Hi there. we thought you'd like to know that your recent order from "
1041
  "{site_title} is in transit"
@@ -1043,20 +649,20 @@ msgstr ""
1043
  "Hej. Vi troede, at du gerne vil vide, at din seneste ordre fra {site_title} "
1044
  "er i transit"
1045
 
1046
- #: includes/customizer/class-wc-intransit-email-customizer.php:146
1047
  msgid "In Transit shipment status email"
1048
  msgstr ""
1049
  "I transitforsendelse status email\n"
1050
 
1051
- #: includes/customizer/class-wc-intransit-email-customizer.php:161
1052
  msgid "Enable In Transit shipment status email"
1053
  msgstr "Aktivér e-mail i transitforsendelsesstatus"
1054
 
1055
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:114
1056
  msgid "Your order #{order_number} is out for delivery"
1057
  msgstr "Din ordre # {order_number} er ude for levering"
1058
 
1059
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:116
1060
  msgid ""
1061
  "Hi there. we thought you'd like to know that your recent order from "
1062
  "{site_title} is out for delivery."
@@ -1064,20 +670,20 @@ msgstr ""
1064
  "Hej. vi troede, at du gerne vil vide, at din seneste ordre fra {site_title} "
1065
  "er ude for levering."
1066
 
1067
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:147
1068
  msgid "Out For Delivery shipment status email"
1069
  msgstr ""
1070
  "Out For Delivery forsendelse status email\n"
1071
 
1072
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:162
1073
  msgid "Enable Out For Delivery shipment status email"
1074
  msgstr "Aktivér Send e-mail til afsendelsesstatus for levering"
1075
 
1076
- #: includes/customizer/class-wc-returntosender-email-customizer.php:115
1077
  msgid "Your order #{order_number} has returned to sender"
1078
  msgstr "Din ordre # {order_number} er returneret til afsenderen"
1079
 
1080
- #: includes/customizer/class-wc-returntosender-email-customizer.php:117
1081
  msgid ""
1082
  "Hi there. we thought you'd like to know that your recent order from "
1083
  "{site_title} has been returned to sender."
@@ -1085,38 +691,37 @@ msgstr ""
1085
  "Hej. vi troede, at du gerne vil vide, at din seneste ordre fra {site_title} "
1086
  "er blevet returneret til afsenderen."
1087
 
1088
- #: includes/customizer/class-wc-returntosender-email-customizer.php:148
1089
  msgid "Return To Sender shipment status email"
1090
  msgstr ""
1091
  "Returner til afsendelsesstatus for afsendelsesstatus\n"
1092
 
1093
- #: includes/customizer/class-wc-returntosender-email-customizer.php:163
1094
  msgid "Enable Return To Sender shipment status email"
1095
  msgstr ""
1096
  "Aktivér Send e-mail til afsendelse af afsendelsesstatus\n"
1097
 
1098
- #: includes/customizer/class-wc-tracking-info-customizer.php:134
1099
- #: includes/customizer/class-wc-tracking-info-customizer.php:301
1100
- #: includes/views/html-tracking-info-design-preview.php:45
1101
- #: templates/emails/tracking-info.php:110 templates/myaccount/view-order.php:89
1102
  msgid "Provider"
1103
  msgstr "Fragtfirma"
1104
 
1105
- #: includes/customizer/class-wc-tracking-info-customizer.php:135
1106
- #: includes/customizer/class-wc-tracking-info-customizer.php:323
1107
- #: includes/views/html-tracking-info-design-preview.php:46
1108
- #: templates/emails/tracking-info.php:134
1109
- #: templates/myaccount/view-order.php:111
1110
  msgid "Tracking Number"
1111
  msgstr "Tracking nummer"
1112
 
1113
- #: includes/customizer/class-wc-tracking-info-customizer.php:136
1114
- #: includes/customizer/class-wc-tracking-info-customizer.php:344
1115
  msgid "Shipped Date"
1116
  msgstr ""
1117
  "Afsendt dato\n"
1118
 
1119
- #: includes/customizer/class-wc-tracking-info-customizer.php:162
1120
  msgid ""
1121
  "select from last 20 orders one order that you added tracking info in order "
1122
  "to preview and design the tracking info table."
@@ -1125,191 +730,157 @@ msgstr ""
1125
  "sporingsoplysninger for at forhåndsvise og designe "
1126
  "sporingsinformatortabellen."
1127
 
1128
- #: includes/customizer/class-wc-tracking-info-customizer.php:182
 
 
 
 
 
 
1129
  msgid "Tracking Display Position"
1130
  msgstr "Sporing af skærmposition"
1131
 
1132
- #: includes/customizer/class-wc-tracking-info-customizer.php:186
1133
  msgid "Before Order Details"
1134
  msgstr "Før ordredetaljer"
1135
 
1136
- #: includes/customizer/class-wc-tracking-info-customizer.php:187
1137
  msgid "After Order Details"
1138
  msgstr "Efter ordredetaljer"
1139
 
1140
- #: includes/customizer/class-wc-tracking-info-customizer.php:202
1141
  msgid "Main Header text"
1142
  msgstr "Hovedteksttekst"
1143
 
1144
- #: includes/customizer/class-wc-tracking-info-customizer.php:209
1145
- #: templates/pip/tracking-info.php:17
1146
  msgid "Tracking Information"
1147
  msgstr "Sporing Oplysninger"
1148
 
1149
- #: includes/customizer/class-wc-tracking-info-customizer.php:224
1150
  msgid "Additional text after header"
1151
  msgstr "Yderligere tekst efter overskrift"
1152
 
1153
- #: includes/customizer/class-wc-tracking-info-customizer.php:245
1154
- msgid "Table Layout"
1155
- msgstr "Tabellayout"
1156
 
1157
- #: includes/customizer/class-wc-tracking-info-customizer.php:260
1158
  msgid "Display Shipment Provider image"
1159
  msgstr "Vis leveringsbillede af forsendelse"
1160
 
1161
- #: includes/customizer/class-wc-tracking-info-customizer.php:277
1162
  msgid "Hide date"
1163
  msgstr "Skjul dato"
1164
 
1165
- #: includes/customizer/class-wc-tracking-info-customizer.php:294
 
 
 
 
 
 
 
 
1166
  msgid "Provider Header Text"
1167
  msgstr "Texto del encabezado del proveedor"
1168
 
1169
- #: includes/customizer/class-wc-tracking-info-customizer.php:316
1170
  msgid "Tracking Number Header Text"
1171
  msgstr "Número de seguimiento del encabezado de texto"
1172
 
1173
- #: includes/customizer/class-wc-tracking-info-customizer.php:337
1174
  msgid "Shipped Date Header Text"
1175
  msgstr "Texto de encabezado de fecha de envío"
1176
 
1177
- #: includes/customizer/class-wc-tracking-info-customizer.php:358
1178
  msgid "Track Label"
1179
  msgstr "Sporetiket"
1180
 
1181
- #: includes/customizer/class-wc-tracking-info-customizer.php:374
1182
  msgid "Track Header Text"
1183
  msgstr "Texto del encabezado de pista"
1184
 
1185
- #: includes/customizer/class-wc-tracking-info-customizer.php:396
 
 
 
 
 
 
 
 
1186
  msgid "Table Design"
1187
  msgstr "Borddesign"
1188
 
1189
- #: includes/customizer/class-wc-tracking-info-customizer.php:411
1190
  msgid "Padding"
1191
  msgstr "polstring"
1192
 
1193
- #: includes/customizer/class-wc-tracking-info-customizer.php:431
1194
  msgid "Background color"
1195
  msgstr "Baggrundsfarve"
1196
 
1197
- #: includes/customizer/class-wc-tracking-info-customizer.php:459
1198
  msgid "Border color"
1199
  msgstr ""
1200
  "Border farve\n"
1201
 
1202
- #: includes/customizer/class-wc-tracking-info-customizer.php:475
1203
  msgid "Border size"
1204
  msgstr ""
1205
  "Border størrelse\n"
1206
 
1207
- #: includes/customizer/class-wc-tracking-info-customizer.php:479
1208
- #: includes/customizer/class-wc-tracking-info-customizer.php:503
1209
- #: includes/customizer/class-wc-tracking-info-customizer.php:511
1210
- msgid "Select"
1211
- msgstr "Vælg"
1212
-
1213
- #: includes/customizer/class-wc-tracking-info-customizer.php:499
1214
  msgid "Table text align"
1215
  msgstr "Tabeltekst justeres"
1216
 
1217
- #: includes/customizer/class-wc-tracking-info-customizer.php:504
1218
- msgid "Left"
1219
- msgstr "Venstre"
1220
-
1221
- #: includes/customizer/class-wc-tracking-info-customizer.php:505
1222
- msgid "Right"
1223
- msgstr "Ret"
1224
-
1225
- #: includes/customizer/class-wc-tracking-info-customizer.php:506
1226
- msgid "Center"
1227
- msgstr "Centrum"
1228
-
1229
- #: includes/customizer/class-wc-tracking-info-customizer.php:525
1230
- msgid "Table header font size"
1231
- msgstr "Tabeloverskriftstørrelse"
1232
-
1233
- #: includes/customizer/class-wc-tracking-info-customizer.php:544
1234
- msgid "Table header font color"
1235
- msgstr "Tabeloverskriftstypefarve"
1236
-
1237
- #: includes/customizer/class-wc-tracking-info-customizer.php:560
1238
  msgid "Table content font size"
1239
  msgstr "Tabelindhold skriftstørrelse"
1240
 
1241
- #: includes/customizer/class-wc-tracking-info-customizer.php:577
1242
  msgid "Table content font color"
1243
  msgstr "Tabelindhold fontfarve"
1244
 
1245
- #: includes/customizer/class-wc-tracking-info-customizer.php:593
1246
  msgid "Content line height"
1247
  msgstr ""
1248
  "Indholdslinjehøjde\n"
1249
 
1250
- #: includes/customizer/class-wc-tracking-info-customizer.php:614
1251
  msgid "Content font weight"
1252
  msgstr ""
1253
  "Indhold skrifttype vægt\n"
1254
 
1255
- #: includes/customizer/class-wc-tracking-info-customizer.php:636
1256
- msgid "Track Link"
1257
- msgstr "Spor link"
1258
 
1259
- #: includes/customizer/class-wc-tracking-info-customizer.php:650
1260
  msgid "Track Link Font Color"
1261
  msgstr "Spor link font farve"
1262
 
1263
- #: includes/customizer/class-wc-tracking-info-customizer.php:666
1264
  msgid "Track Link Background Color"
1265
  msgstr "Track Link Baggrundsfarve"
1266
 
1267
- #: includes/customizer/class-wc-tracking-info-customizer.php:681
1268
  msgid "Track link Border"
1269
  msgstr "Spor link grænse"
1270
 
1271
- #: includes/customizer/class-wc-tracking-page-customizer.php:167
1272
- msgid "Header Color"
1273
- msgstr "Hovedfarge"
1274
-
1275
- #: includes/customizer/class-wc-tracking-page-customizer.php:183
1276
- msgid "Success Status Color"
1277
  msgstr ""
1278
- "Succes Status Farve\n"
1279
 
1280
- #: includes/customizer/class-wc-tracking-page-customizer.php:199
1281
- msgid "Warning Status Color"
1282
- msgstr ""
1283
- "Advarselsstatus Farve\n"
1284
-
1285
- #: includes/customizer/class-wc-tracking-page-customizer.php:215
1286
- msgid "Tracking info Border Color"
1287
- msgstr ""
1288
- "Sporingsinformation Border Color\n"
1289
-
1290
- #: includes/customizer/class-wc-tracking-page-customizer.php:230
1291
- msgid "Tracking info width (px)"
1292
- msgstr ""
1293
- "Sporing info bredde (px)\n"
1294
-
1295
- #: includes/customizer/class-wc-tracking-page-customizer.php:250
1296
- msgid "Tracking details Border Color"
1297
- msgstr ""
1298
- "Sporingsoplysninger Border Color\n"
1299
-
1300
- #: includes/customizer/class-wc-tracking-page-customizer.php:265
1301
- msgid "Tracking info table shade color"
1302
  msgstr ""
1303
- "Sporing info bord skygge farve\n"
1304
 
1305
- #: includes/customizer/class-wc-tracking-page-customizer.php:280
1306
- msgid "Tracking events font color"
1307
  msgstr ""
1308
- "Sporing af begivenheder skriftfarve\n"
1309
-
1310
- #: includes/customizer/class-wc-tracking-page-customizer.php:295
1311
- msgid "Tracking info table margin top/bottom(px)"
1312
- msgstr "Sporingsoplysninger tabel margen top / bund (px)"
1313
 
1314
  #: includes/emails/class-shipment-delivered-email.php:32
1315
  msgid "Delivered order"
@@ -1321,52 +892,19 @@ msgid ""
1321
  "delivered and usually indicate that their orders have been shipped."
1322
  msgstr ""
1323
 
1324
- #: includes/emails/class-shipment-delivered-email.php:228
1325
- msgid "Enable this email notification"
1326
- msgstr ""
1327
-
1328
- #: includes/emails/class-shipment-delivered-email.php:232
1329
- msgid "Recipient(s)"
1330
- msgstr ""
1331
-
1332
- #. %s: WP admin email
1333
- #: includes/emails/class-shipment-delivered-email.php:235
1334
- #, php-format
1335
- msgid "Enter recipients (comma separated) for this email. Defaults to %s."
1336
- msgstr ""
1337
-
1338
- #: includes/emails/class-shipment-delivered-email.php:241
1339
- msgid "Subject"
1340
- msgstr ""
1341
-
1342
- #. %s: list of placeholders
1343
- #: includes/emails/class-shipment-delivered-email.php:245
1344
- #: includes/emails/class-shipment-delivered-email.php:254
1345
- #, php-format
1346
- msgid "Available placeholders: %s"
1347
- msgstr ""
1348
-
1349
- #: includes/emails/class-shipment-delivered-email.php:259
1350
- msgid "Email type"
1351
- msgstr ""
1352
-
1353
- #: includes/emails/class-shipment-delivered-email.php:261
1354
- msgid "Choose which format of email to send."
1355
  msgstr ""
1356
 
1357
- #: includes/emails/class-shipment-delivered-email.php:269
1358
- msgid "\" >Click Here</a>"
1359
- msgstr ""
1360
-
1361
- #: includes/emails/class-shipment-delivered-email.php:270
1362
  msgid "Edit in customizer"
1363
  msgstr ""
1364
 
1365
- #: includes/views/admin_options_bulk_upload.php:5
1366
  msgid "Upload CSV"
1367
  msgstr "Upload CSV"
1368
 
1369
- #: includes/views/admin_options_bulk_upload.php:15
1370
  msgid ""
1371
  "Replace tracking info if exists? (if not checked, the tracking info will be "
1372
  "added)"
@@ -1374,132 +912,168 @@ msgstr ""
1374
  "Erstat sporingsinformation, hvis der eksisterer? (hvis ikke markeret, vil "
1375
  "sporingsoplysningerne blive tilføjet)"
1376
 
1377
- #: includes/views/admin_options_bulk_upload.php:25
1378
- #: includes/views/admin_options_shipping_provider.php:112
1379
- #: includes/views/admin_options_shipping_provider.php:146
1380
  msgid "Upload"
1381
  msgstr "Upload"
1382
 
1383
- #: includes/views/admin_options_bulk_upload.php:28
1384
- #: includes/views/admin_options_trackship_integration.php:27
1385
- #: includes/views/admin_options_trackship_integration.php:45
1386
  msgid "Settings Saved."
1387
  msgstr "Indstillinger gemt."
1388
 
1389
- #: includes/views/admin_options_bulk_upload.php:34
 
 
 
 
 
 
 
 
1390
  msgid "You can download an example of the csv file:"
1391
  msgstr "Puedes descargar un ejemplo del archivo csv:"
1392
 
1393
- #: includes/views/admin_options_bulk_upload.php:35
1394
  msgid "Download sample csv file"
1395
  msgstr "Download prøve csv fil"
1396
 
1397
- #: includes/views/admin_options_bulk_upload.php:36
1398
  msgid ""
1399
  "For detailed instructions on how to upload tracking info in bulk, see our"
1400
  msgstr ""
1401
  "Para obtener instrucciones detalladas sobre cómo cargar información de "
1402
  "seguimiento de forma masiva, consulte nuestra"
1403
 
1404
- #: includes/views/admin_options_bulk_upload.php:36
1405
- msgid "documentation"
1406
- msgstr "documentación"
 
 
 
 
 
 
 
 
1407
 
1408
- #: includes/views/admin_options_bulk_upload.php:38
1409
- msgid "Upload Progress - "
1410
- msgstr "Upload Progress -"
1411
 
1412
- #: includes/views/admin_options_settings.php:7
1413
- #: includes/views/admin_options_trackship_integration.php:10
1414
- msgid "General"
1415
- msgstr "Generel"
1416
 
1417
- #: includes/views/admin_options_settings.php:10
1418
- #: includes/views/admin_options_settings.php:19
1419
  msgid "Delivered Order Status"
1420
  msgstr "Leveret ordrestatus"
1421
 
1422
- #: includes/views/admin_options_settings.php:12
1423
- msgid "Tracking Info Display Designer"
1424
  msgstr ""
1425
- "Tracking Info Display Designer\n"
1426
 
1427
- #: includes/views/admin_options_settings.php:15
1428
- #: includes/views/admin_options_trackship_integration.php:19
1429
- msgid "General Settings"
1430
- msgstr "Generelle indstillinger"
 
 
 
 
 
 
1431
 
1432
- #: includes/views/admin_options_settings.php:24
1433
- #: includes/views/admin_options_trackship_integration.php:25
1434
- #: includes/views/admin_options_trackship_integration.php:43
1435
- msgid "Save"
1436
- msgstr "Gemme"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1437
 
1438
- #: includes/views/admin_options_shipping_provider.php:94
 
 
 
 
 
 
 
 
 
1439
  msgid "Add Custom Shipping Provider"
1440
  msgstr "Tilføj Tilpasset forsendelsesleverandør"
1441
 
1442
- #: includes/views/admin_options_shipping_provider.php:101
1443
- #: includes/views/admin_options_shipping_provider.php:135
1444
- msgid "Shiping Country"
1445
- msgstr "Forsendelsesland"
1446
 
1447
- #: includes/views/admin_options_shipping_provider.php:102
1448
- #: includes/views/admin_options_shipping_provider.php:136
1449
  msgid "Global"
1450
  msgstr ""
1451
 
1452
- #: includes/views/admin_options_shipping_provider.php:128
1453
  msgid "Edit Custom Shipping Provider"
1454
  msgstr "Rediger leverandør af tilpasset forsendelse"
1455
 
1456
- #: includes/views/admin_options_shipping_provider.php:163
1457
- #: includes/views/admin_options_shipping_provider.php:170
1458
- msgid "Sync Providers"
1459
- msgstr "Synkroniseringsudbydere"
1460
-
1461
- #: includes/views/admin_options_shipping_provider.php:164
1462
- msgid "Do you really want to sync all providers?"
1463
- msgstr "Vil du virkelig synkronisere alle udbydere?"
1464
 
1465
- #: includes/views/admin_options_shipping_provider.php:166
1466
  msgid "Providers Added"
1467
  msgstr "Udbydere tilføjet"
1468
 
1469
- #: includes/views/admin_options_shipping_provider.php:167
1470
  msgid "Providers Updated"
1471
  msgstr "Udbydere opdateret"
1472
 
1473
- #: includes/views/admin_options_shipping_provider.php:168
1474
  msgid "Providers Deleted"
1475
  msgstr "Udbydere er slettet"
1476
 
1477
- #: includes/views/admin_options_shipping_provider.php:171
1478
- msgid "Close"
1479
- msgstr "Tæt"
1480
-
1481
- #: includes/views/admin_options_trackship_integration.php:13
1482
- #: includes/views/admin_options_trackship_integration.php:35
1483
  msgid "Tracking Page"
1484
  msgstr "Tracking Page"
1485
 
1486
- #: includes/views/admin_options_trackship_integration.php:16
1487
- msgid "Shipment Status Notifications"
1488
- msgstr "Notifikationer om forsendelsesstatus"
1489
-
1490
- #: includes/views/admin_options_trackship_integration.php:40
1491
  msgid "Click to preview the tracking page"
1492
  msgstr "Klik for at forhåndsvise sporingssiden"
1493
 
1494
- #: includes/views/admin_options_trackship_integration.php:41
1495
  msgid "PLEASE NOTE - make sure to save your settings before preview."
1496
  msgstr "BEMÆRK - sørg for at gemme dine indstillinger før forhåndsvisning."
1497
 
1498
- #: includes/views/admin_options_trackship_integration.php:53
1499
  msgid "Shipment Status Notifications "
1500
  msgstr "Notifikationer om forsendelsesstatus"
1501
 
1502
- #: includes/views/admin_options_trackship_integration.php:81
1503
  msgid ""
1504
  "Carrier has accepted or picked up shipment from shipper. The shipment is on "
1505
  "the way."
@@ -1507,23 +1081,23 @@ msgstr ""
1507
  "Luftfartsselskab har accepteret eller hentet forsendelse fra afsender. "
1508
  "Forsendelsen er på vej."
1509
 
1510
- #: includes/views/admin_options_trackship_integration.php:95
1511
  msgid "Shipment is returned to sender"
1512
  msgstr "Forsendelse returneres til afsenderen"
1513
 
1514
- #: includes/views/admin_options_trackship_integration.php:109
1515
  msgid "The shipment is ready to pickup."
1516
  msgstr "Forsendelsen er klar til afhentning."
1517
 
1518
- #: includes/views/admin_options_trackship_integration.php:122
1519
  msgid "Carrier is about to deliver the shipment"
1520
  msgstr "Carrier er ved at levere forsendelsen"
1521
 
1522
- #: includes/views/admin_options_trackship_integration.php:136
1523
  msgid "The shipment was delivered successfully"
1524
  msgstr "Forsendelsen blev leveret med succes"
1525
 
1526
- #: includes/views/admin_options_trackship_integration.php:137
1527
  msgid ""
1528
  "You already have delivered email enabled, to enable this email you'll need "
1529
  "to disable the order status delivered in settings."
@@ -1531,7 +1105,7 @@ msgstr ""
1531
  "Du har allerede leveret e-mail aktiveret, for at aktivere denne e-mail skal "
1532
  "du deaktivere ordrestatus leveret i indstillinger."
1533
 
1534
- #: includes/views/admin_options_trackship_integration.php:151
1535
  msgid ""
1536
  "Carrier attempted to deliver but failed, and usually leaves a notice and "
1537
  "will try to deliver the package again."
@@ -1539,43 +1113,35 @@ msgstr ""
1539
  "Luftfartsselskab forsøgte at levere, men mislykkedes, og efterlader normalt "
1540
  "en meddelelse og vil forsøge at levere pakken igen."
1541
 
1542
- #: includes/views/html-tracking-info-design-preview.php:60
1543
- msgid "USPS"
1544
- msgstr "USPS"
1545
-
1546
- #: includes/views/zorem_admin_sidebar.php:8
1547
- msgid "Leave your review"
1548
- msgstr ""
1549
-
1550
- #: includes/views/zorem_admin_ts_sidebar.php:5
1551
- msgid "Dashboard"
1552
- msgstr ""
1553
-
1554
- #: includes/views/zorem_admin_ts_sidebar.php:7
1555
- msgid "Documentation"
1556
  msgstr ""
1557
 
1558
- #: templates/emails/tracking-info.php:138
1559
- msgid "Status"
1560
- msgstr "status"
1561
-
1562
- #: templates/emails/wcast-email-order-details.php:26
1563
- msgid "Order Details"
1564
  msgstr ""
1565
- "Ordre detaljer\n"
1566
 
1567
  #. %s: Order ID.
1568
- #: templates/emails/wcast-email-order-details.php:42
1569
  #, php-format
1570
  msgid "Order number: %s"
1571
  msgstr ""
1572
  "Ordrenummer:% s\n"
1573
 
1574
- #: templates/emails/wcast-email-order-details.php:49
1575
- msgid "Order date:"
 
 
 
 
 
 
 
 
1576
  msgstr ""
1577
- "Bestillingsdato:\n"
1578
 
1579
- #: templates/emails/plain/tracking-info.php:18
1580
- msgid "TRACKING INFORMATION"
1581
- msgstr "TRACKING INFORMATION"
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce Advanced Shipment Tracking\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2019-10-25 08:22+0000\n"
6
+ "PO-Revision-Date: 2019-10-25 08:23+0000\n"
7
  "Last-Translator: gaurav <gaurav1092@zorem.com>\n"
8
  "Language-Team: Danish\n"
9
  "Language: da_DK\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
  "X-Generator: Loco https://localise.biz/\n"
15
+ "X-Loco-Version: 2.3.1; wp-5.2.4"
16
 
17
+ #: woocommerce-advanced-shipment-tracking.php:114
18
  #, php-format
19
  msgid ""
20
  "Please install and activate %sWooCommerce%s for WooCommerce Advanced "
23
  "Installer og aktiver venligst% sWooCommerce% s for WooCommerce Advanced "
24
  "Shipping Tracking!"
25
 
26
+ #: woocommerce-advanced-shipment-tracking.php:223
27
+ #, php-format
28
+ msgid "Your order was shipped with %s and your tracking code is: %s"
29
+ msgstr ""
30
+
31
+ #: woocommerce-advanced-shipment-tracking.php:430
32
+ #: includes/views/admin_options_settings.php:68
33
  #, php-format
34
  msgid ""
35
  "<strong>PLEASE NOTE</strong> - If you use the custom order status "
40
  "\"completed\" before deactivating the plugin."
41
  msgstr ""
42
 
43
+ #: includes/class-wc-advanced-shipment-tracking-front.php:150
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  msgid ""
45
  "To track your order please enter your Order ID in the box below and press "
46
  "the \"Track\" button. This was given to you on your receipt and in the "
50
  "trykke på knappen \"Spor\". Dette blev givet til dig på din kvittering og i "
51
  "den bekræftelses e-mail, du skulle have modtaget.\n"
52
 
53
+ #: includes/class-wc-advanced-shipment-tracking-front.php:151
54
+ #: includes/class-wc-advanced-shipment-tracking-front.php:152
 
 
 
 
 
55
  msgid "Found in your order confirmation email."
56
  msgstr ""
57
  "Findes i din ordrebekræftelses-email.\n"
58
 
59
+ #: includes/class-wc-advanced-shipment-tracking-front.php:152
60
  msgid "Order Email"
61
  msgstr ""
62
  "Bestil Email\n"
63
 
64
+ #: includes/class-wc-advanced-shipment-tracking-front.php:155
65
  #: includes/class-wc-advanced-shipment-tracking.php:260
66
+ #: includes/class-wc-advanced-shipment-tracking.php:656
67
+ #: includes/class-wc-advanced-shipment-tracking.php:780
68
+ #: includes/customizer/class-wc-tracking-info-customizer.php:147
69
+ #: includes/customizer/class-wc-tracking-info-customizer.php:444
70
+ #: templates/emails/tracking-info.php:174
71
+ #: templates/myaccount/tracking-info.php:125
 
72
  msgid "Track"
73
  msgstr "Spor pakke"
74
 
75
+ #: includes/class-wc-advanced-shipment-tracking-front.php:233
76
+ #: includes/class-wc-advanced-shipment-tracking-front.php:510
77
  #, php-format
78
  msgid "Shipment - %s (out of %s)"
79
  msgstr ""
80
  "Forsendelse -% s (ud af% s)\n"
81
 
82
+ #: includes/class-wc-advanced-shipment-tracking-front.php:246
83
+ #: includes/class-wc-advanced-shipment-tracking-front.php:250
84
+ #: includes/class-wc-advanced-shipment-tracking-front.php:523
85
+ #: includes/class-wc-advanced-shipment-tracking-front.php:527
 
 
 
 
 
86
  msgid "Estimated Delivery Date: "
87
  msgstr "Forventet leveringsdato:"
88
 
89
+ #: includes/class-wc-advanced-shipment-tracking-front.php:359
90
+ #: includes/class-wc-advanced-shipment-tracking-front.php:636
91
+ #: includes/class-wc-advanced-shipment-tracking-front.php:812
92
  msgid "Tracking Details"
93
  msgstr "Sporingsdetaljer"
94
 
95
+ #: includes/class-wc-advanced-shipment-tracking-front.php:378
96
+ #: includes/class-wc-advanced-shipment-tracking-front.php:655
97
+ #: includes/class-wc-advanced-shipment-tracking-front.php:833
98
  msgid "view more"
99
  msgstr "Se mere"
100
 
101
+ #: includes/class-wc-advanced-shipment-tracking-front.php:379
102
+ #: includes/class-wc-advanced-shipment-tracking-front.php:656
103
+ #: includes/class-wc-advanced-shipment-tracking-front.php:834
104
  msgid "view less"
105
  msgstr "se mindre"
106
 
107
+ #: includes/class-wc-advanced-shipment-tracking-front.php:387
108
+ #: includes/class-wc-advanced-shipment-tracking-front.php:664
109
+ msgid "Tracking details not found in TrackShip"
110
+ msgstr ""
111
+
112
+ #: includes/class-wc-advanced-shipment-tracking-front.php:747
113
+ msgid "Estimated Delivery Date"
114
  msgstr ""
 
 
115
 
116
+ #: includes/class-wc-advanced-shipment-tracking.php:95
117
  #: includes/class-wc-advanced-shipment-tracking.php:244
118
+ #: includes/customizer/class-wcast-customizer.php:31
119
  msgid "Shipment Tracking"
120
  msgstr "Forsendelsessporing"
121
 
122
+ #: includes/class-wc-advanced-shipment-tracking.php:184
 
 
 
 
 
123
  #: includes/class-wc-advanced-shipment-tracking.php:353
124
+ msgid "Mark as Shipped?"
125
  msgstr ""
126
 
127
  #: includes/class-wc-advanced-shipment-tracking.php:186
128
+ #: includes/class-wc-advanced-shipment-tracking.php:355
129
+ msgid "Mark as Completed?"
130
  msgstr ""
131
 
132
  #: includes/class-wc-advanced-shipment-tracking.php:191
133
+ msgid "Add Tracking Number"
134
+ msgstr ""
135
+
136
+ #: includes/class-wc-advanced-shipment-tracking.php:196
137
+ #: includes/class-wc-advanced-shipment-tracking.php:371
138
  msgid "Provider:"
139
  msgstr "udbyder:"
140
 
141
+ #: includes/class-wc-advanced-shipment-tracking.php:216
142
+ #: includes/class-wc-advanced-shipment-tracking.php:409
143
  msgid "Tracking number:"
144
  msgstr "Tracking nummer:"
145
 
146
+ #: includes/class-wc-advanced-shipment-tracking.php:220
147
+ #: includes/class-wc-advanced-shipment-tracking.php:417
148
  msgid "Date shipped:"
149
  msgstr "Dato afsendt:"
150
 
151
+ #: includes/class-wc-advanced-shipment-tracking.php:221
152
+ #: includes/class-wc-advanced-shipment-tracking.php:418
153
+ #: includes/class-wc-advanced-shipment-tracking.php:421
154
+ msgid "Y-m-d"
155
+ msgstr ""
156
+
157
  #: includes/class-wc-advanced-shipment-tracking.php:260
158
+ #: includes/class-wc-advanced-shipment-tracking.php:433
159
  msgid "Click here to track your shipment"
160
  msgstr "Klik her for at spore din forsendelse"
161
 
162
  #. 1: shipping date
163
  #: includes/class-wc-advanced-shipment-tracking.php:268
 
164
  #, php-format
165
  msgid "Shipped on %s"
166
  msgstr "Sendes på% s"
167
 
168
+ #: includes/class-wc-advanced-shipment-tracking.php:367
 
 
 
 
169
  msgid "Add Tracking Info"
170
  msgstr "Tilføj sporingsinfo"
171
 
172
+ #: includes/class-wc-advanced-shipment-tracking.php:372
173
  msgid "Select Provider"
174
  msgstr "Vælg Udbyder"
175
 
176
+ #: includes/class-wc-advanced-shipment-tracking.php:432
177
  msgid "Save Tracking"
178
  msgstr "Gem sporing"
179
 
180
+ #: includes/class-wc-advanced-shipment-tracking.php:433
181
  msgid "Preview:"
182
  msgstr "Eksempel:"
183
 
184
+ #: includes/class-wc-advanced-shipment-tracking.php:630
185
+ #, php-format
186
+ msgid ""
187
+ "Tracking info was deleted for tracking provider %s with tracking number %s"
188
+ msgstr ""
189
+
190
+ #: includes/class-wc-advanced-shipment-tracking.php:986
191
+ #, php-format
192
+ msgid "Order was shipped with %s and tracking number is: %s"
193
+ msgstr ""
194
+
195
+ #: includes/class-wc-advanced-shipment-welcome.php:38
196
+ #: includes/class-wc-advanced-shipment-welcome.php:39
197
+ msgid "Welcome to Advanced Shipment Tracking"
198
+ msgstr ""
199
+
200
+ #: includes/class-wc-advanced-shipment-welcome.php:90
201
+ #: includes/class-wc-advanced-shipment-welcome.php:129
202
+ #: includes/class-wc-advanced-shipment-welcome.php:147
203
+ msgid "Save and Continue"
204
+ msgstr ""
205
+
206
+ #: includes/class-wc-advanced-shipment-welcome.php:177
207
+ #: includes/views/admin_options_trackship_integration.php:26
208
+ msgid "Connection status"
209
+ msgstr ""
210
+
211
+ #: includes/class-wc-advanced-shipment-welcome.php:184
212
+ #: includes/views/admin_options_trackship_integration.php:33
213
+ msgid "TrackShip Connection Status"
214
+ msgstr "TrackShip-forbindelsesstatus"
215
+
216
+ #: includes/class-wc-advanced-shipment-welcome.php:188
217
+ #: includes/views/admin_options_trackship_integration.php:37
218
+ msgid "Connected"
219
+ msgstr ""
220
+ "forbundet\n"
221
+
222
+ #: includes/class-wc-advanced-shipment-welcome.php:194
223
+ #: includes/views/admin_options_trackship_integration.php:43
224
+ msgid "Trackers Balance"
225
+ msgstr ""
226
+
227
+ #: includes/class-wc-advanced-shipment-welcome.php:202
228
+ #: includes/views/admin_options_trackship_integration.php:51
229
+ msgid "Current Plan"
230
+ msgstr ""
231
+
232
+ #: includes/class-wc-advanced-shipment-welcome.php:217
233
+ #: includes/views/admin_options_trackship_integration.php:66
234
+ msgid ""
235
+ "You are now connected with TrackShip! TrackShip makes it effortless to "
236
+ "automate your post shipping operations and get tracking and delivery status "
237
+ "updates directly in the WooCommerce admin."
238
+ msgstr ""
239
+
240
+ #: includes/class-wc-advanced-shipment-welcome.php:222
241
+ #: includes/views/admin_options_bulk_upload.php:58
242
+ #: includes/views/admin_options_trackship_integration.php:71
243
+ #: includes/views/zorem_admin_ts_sidebar.php:12
244
+ msgid "Documentation"
245
+ msgstr ""
246
+
247
+ #: includes/class-wc-advanced-shipment-welcome.php:223
248
+ #: includes/views/admin_options_trackship_integration.php:72
249
+ msgid "TrackShip Dashboard"
250
+ msgstr ""
251
+
252
+ #: includes/class-wc-advanced-shipment-welcome.php:253
253
+ msgid "Save"
254
+ msgstr ""
255
+
256
+ #: includes/class-wc-advanced-shipment-welcome.php:310
257
+ msgid ""
258
+ "Get Shipment Status is limited to 100 orders at a time, please select up to "
259
+ "100 orders."
260
+ msgstr ""
261
 
262
+ #: includes/class-wc-advanced-shipment-welcome.php:343
263
+ msgid "Data saved successfully."
264
+ msgstr "Data gemmes med succes."
265
+
266
+ #: includes/class-wc-advanced-shipment-welcome.php:344
267
+ msgid "Really delete this entry? This will not be undo."
268
+ msgstr "Vil du virkelig slette denne post? Dette vil ikke blive fortrydt."
269
+
270
+ #: includes/class-wc-advanced-shipment-welcome.php:345
271
+ msgid "You can upload only csv file."
272
+ msgstr "Du kan kun uploade csv-filen."
273
+
274
+ #: includes/class-wc-advanced-shipment-welcome.php:346
275
+ msgid "This browser does not support HTML5."
276
+ msgstr "Denne browser understøtter ikke HTML5."
277
+
278
+ #: includes/class-wc-advanced-shipment-welcome.php:347
279
+ msgid "Please upload a valid CSV file."
280
+ msgstr "Upload venligst en gyldig CSV-fil."
281
+
282
+ #: includes/customizer/class-wcast-customizer.php:40
283
  msgid "Shipment Status Emails"
284
  msgstr "Sendingsstatus-e-mails"
285
 
286
+ #: includes/customizer/class-wcast-customizer.php:52
287
  msgid "Tracking info display"
288
  msgstr ""
289
  "Tracking info display\n"
290
 
291
+ #: includes/customizer/class-wcast-customizer.php:60
292
+ #: includes/customizer/class-wc-email-customizer.php:163
293
+ msgid "Delivered order status email"
294
+ msgstr ""
295
+ "Leveret ordre status email\n"
296
+
297
+ #: includes/customizer/class-wcast-customizer.php:68
298
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:143
299
+ msgid "Partial Shipped order status email"
300
+ msgstr ""
301
 
302
+ #: includes/customizer/class-wcast-customizer.php:76
303
+ msgid "Pre Transit"
304
+ msgstr ""
305
+ "Pre Transit\n"
306
+
307
+ #: includes/customizer/class-wcast-customizer.php:84
308
+ #: includes/customizer/class-wc-intransit-email-customizer.php:127
309
+ #: includes/views/admin_options_trackship_integration.php:161
310
+ msgid "In Transit"
311
+ msgstr "Undervejs"
312
+
313
+ #: includes/customizer/class-wcast-customizer.php:92
314
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:124
315
+ #: includes/views/admin_options_trackship_integration.php:175
316
+ msgid "Return To Sender"
317
+ msgstr ""
318
+ "Retur til Afsender\n"
319
+
320
+ #: includes/customizer/class-wcast-customizer.php:99
321
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:124
322
+ #: includes/views/admin_options_trackship_integration.php:189
323
+ msgid "Available For Pickup"
324
+ msgstr ""
325
+ "Klar til afhentning\n"
326
+
327
+ #: includes/customizer/class-wcast-customizer.php:106
328
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:126
329
+ #: includes/views/admin_options_trackship_integration.php:202
330
  msgid "Out For Delivery"
331
  msgstr "Ud for levering"
332
 
333
+ #: includes/customizer/class-wcast-customizer.php:114
334
+ #: includes/customizer/class-wc-delivered-email-customizer.php:125
335
+ #: includes/views/admin_options_trackship_integration.php:216
336
+ msgid "Delivered"
337
+ msgstr "leveres"
338
+
339
+ #: includes/customizer/class-wcast-customizer.php:122
340
+ #: includes/customizer/class-wc-failure-email-customizer.php:124
341
+ #: includes/views/admin_options_trackship_integration.php:231
342
+ msgid "Failed Attempt"
343
+ msgstr "Mislykket forsøg"
344
+
345
+ #: includes/customizer/class-wcast-customizer.php:390
346
  msgid "Select order to preview"
347
  msgstr ""
348
  "Vælg rækkefølge for at forhåndsvise\n"
349
 
350
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:123
351
  msgid "Your order #{order_number} is available for pickup"
352
  msgstr ""
353
  "Din ordre # {order_number} er tilgængelig til afhentning\n"
354
 
355
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:125
356
  msgid ""
357
  "Hi there. we thought you'd like to know that your recent order from "
358
  "{site_title} is available for pickup."
360
  "Hej. vi troede, at du gerne vil vide, at din seneste ordre fra {site_title} "
361
  "er tilgængelig til afhentning.\n"
362
 
363
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:156
364
  msgid "Available For Pickup shipment status email"
365
  msgstr ""
366
  "Tilgængelig til afhentningsstatus for afsendelsesstatus\n"
367
 
368
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:157
369
+ #: includes/customizer/class-wc-delivered-email-customizer.php:158
370
+ #: includes/customizer/class-wc-email-customizer.php:164
371
+ #: includes/customizer/class-wc-failure-email-customizer.php:157
372
+ #: includes/customizer/class-wc-intransit-email-customizer.php:160
373
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:159
374
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:157
375
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:144
376
  msgid "This section lets you customize the Email Content."
377
  msgstr ""
378
  "Dette afsnit giver dig mulighed for at tilpasse e-mailindholdet.\n"
379
 
380
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:171
381
  msgid "Enable Available For Pickup shipment status email"
382
  msgstr ""
383
  "Aktivér tilgængelig for afhentningsstatus for e-mail\n"
384
 
385
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:187
386
+ #: includes/customizer/class-wc-delivered-email-customizer.php:188
387
+ #: includes/customizer/class-wc-email-customizer.php:197
388
+ #: includes/customizer/class-wc-failure-email-customizer.php:187
389
+ #: includes/customizer/class-wc-intransit-email-customizer.php:191
390
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:189
391
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:187
392
+ #: includes/customizer/class-wc-tracking-info-customizer.php:178
393
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:177
394
  msgid "Preview order"
395
  msgstr ""
396
  "Forhåndsvis rækkefølge\n"
397
 
398
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:215
399
+ #: includes/customizer/class-wc-delivered-email-customizer.php:216
400
+ #: includes/customizer/class-wc-email-customizer.php:226
401
+ #: includes/customizer/class-wc-failure-email-customizer.php:215
402
+ #: includes/customizer/class-wc-intransit-email-customizer.php:219
403
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:217
404
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:215
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
405
  msgid "E.g. {customer.email}, admin@example.org"
406
  msgstr "F.eks {customer.email}, admin@example.org"
407
 
408
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:231
409
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:253
410
+ #: includes/customizer/class-wc-delivered-email-customizer.php:232
411
+ #: includes/customizer/class-wc-delivered-email-customizer.php:254
412
+ #: includes/customizer/class-wc-failure-email-customizer.php:231
413
+ #: includes/customizer/class-wc-failure-email-customizer.php:253
414
+ #: includes/customizer/class-wc-intransit-email-customizer.php:235
415
+ #: includes/customizer/class-wc-intransit-email-customizer.php:257
416
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:233
417
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:255
418
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:231
419
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:253
 
 
 
 
 
 
 
 
 
 
420
  msgid "Available placeholders: {site_title}, {order_number}"
421
  msgstr "Tilgængelige pladsholdere: {site_title}, {order_number}"
422
 
423
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:237
424
+ #: includes/customizer/class-wc-delivered-email-customizer.php:238
425
+ #: includes/customizer/class-wc-email-customizer.php:249
426
+ #: includes/customizer/class-wc-failure-email-customizer.php:237
427
+ #: includes/customizer/class-wc-intransit-email-customizer.php:241
428
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:239
429
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:237
430
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:206
431
  msgid "Please enter email subject here"
432
  msgstr "Indtast venligst e-mail-emne her"
433
 
434
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:259
435
+ #: includes/customizer/class-wc-delivered-email-customizer.php:260
436
+ #: includes/customizer/class-wc-email-customizer.php:272
437
+ #: includes/customizer/class-wc-failure-email-customizer.php:259
438
+ #: includes/customizer/class-wc-intransit-email-customizer.php:263
439
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:261
440
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:259
441
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:229
 
 
 
 
 
 
 
 
 
 
442
  msgid "Please enter email heading here"
443
  msgstr "Indtast venligst e-mail-overskrift her"
444
 
445
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:274
446
+ #: includes/customizer/class-wc-delivered-email-customizer.php:275
447
+ #: includes/customizer/class-wc-failure-email-customizer.php:274
448
+ #: includes/customizer/class-wc-intransit-email-customizer.php:278
449
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:276
450
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:274
451
  msgid "Show tracking details"
452
  msgstr ""
453
  "Vis sporingsoplysninger\n"
454
 
455
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:290
456
+ #: includes/customizer/class-wc-delivered-email-customizer.php:291
457
+ #: includes/customizer/class-wc-failure-email-customizer.php:290
458
+ #: includes/customizer/class-wc-intransit-email-customizer.php:294
459
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:292
460
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:290
461
  msgid "Show order details"
462
  msgstr ""
463
  "Vis bestilling detaljer\n"
464
 
465
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:306
466
+ #: includes/customizer/class-wc-delivered-email-customizer.php:307
467
+ #: includes/customizer/class-wc-failure-email-customizer.php:306
468
+ #: includes/customizer/class-wc-intransit-email-customizer.php:310
469
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:308
470
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:306
471
  msgid "Show billing address"
472
  msgstr ""
473
  "Vis faktureringsadresse\n"
474
 
475
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:323
476
+ #: includes/customizer/class-wc-delivered-email-customizer.php:324
477
+ #: includes/customizer/class-wc-failure-email-customizer.php:323
478
+ #: includes/customizer/class-wc-intransit-email-customizer.php:327
479
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:325
480
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:323
481
  msgid "Show shipping address"
482
  msgstr ""
483
  "Vis forsendelsesadresse\n"
484
 
485
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:339
486
+ #: includes/customizer/class-wc-delivered-email-customizer.php:340
487
+ #: includes/customizer/class-wc-email-customizer.php:392
488
+ #: includes/customizer/class-wc-failure-email-customizer.php:339
489
+ #: includes/customizer/class-wc-intransit-email-customizer.php:363
490
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:341
491
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:339
492
  msgid "Google Analytics link tracking"
493
  msgstr ""
494
 
495
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:340
496
+ #: includes/customizer/class-wc-delivered-email-customizer.php:341
497
+ #: includes/customizer/class-wc-failure-email-customizer.php:340
498
+ #: includes/customizer/class-wc-intransit-email-customizer.php:364
499
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:342
500
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:340
501
  msgid "This will be appended to URL in the email content"
502
  msgstr ""
503
 
504
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:361
505
+ #: includes/customizer/class-wc-delivered-email-customizer.php:362
506
+ #: includes/customizer/class-wc-email-customizer.php:288
507
+ #: includes/customizer/class-wc-failure-email-customizer.php:361
508
+ #: includes/customizer/class-wc-intransit-email-customizer.php:344
509
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:363
510
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:361
511
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:245
512
  msgid "Email content"
513
  msgstr "Email indhold"
514
 
515
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:380
516
+ #: includes/customizer/class-wc-delivered-email-customizer.php:382
517
+ #: includes/customizer/class-wc-email-customizer.php:413
518
+ #: includes/customizer/class-wc-failure-email-customizer.php:381
519
+ #: includes/customizer/class-wc-intransit-email-customizer.php:385
520
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:383
521
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:381
522
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:264
523
  msgid "Available placeholders"
524
  msgstr ""
525
  "Tilgængelige pladsholdere\n"
526
 
527
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:427
528
+ #: includes/customizer/class-wc-delivered-email-customizer.php:429
529
+ #: includes/customizer/class-wc-email-customizer.php:446
530
+ #: includes/customizer/class-wc-failure-email-customizer.php:428
531
+ #: includes/customizer/class-wc-intransit-email-customizer.php:431
532
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:429
533
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:427
534
+ #: includes/customizer/class-wc-tracking-info-customizer.php:791
535
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:297
536
+ msgid "Please select order to preview."
537
  msgstr ""
 
538
 
539
+ #: includes/customizer/class-wc-delivered-email-customizer.php:124
540
  msgid "Your order #{order_number} has been delivered"
541
  msgstr ""
542
 
543
+ #: includes/customizer/class-wc-delivered-email-customizer.php:126
544
+ #: includes/customizer/class-wc-email-customizer.php:132
545
  msgid ""
546
  "Hi there. we thought you'd like to know that your recent order from "
547
  "{site_title} has been Delivered."
549
  "Hej. vi troede, at du gerne vil vide, at din seneste ordre fra {site_title} "
550
  "er blevet leveret.\n"
551
 
552
+ #: includes/customizer/class-wc-delivered-email-customizer.php:157
553
  msgid "Delivered shipment status email"
554
  msgstr ""
555
  "Leveret status for afsendelsesstatus\n"
556
 
557
+ #: includes/customizer/class-wc-delivered-email-customizer.php:172
558
  msgid "Enable Delivered shipment status email"
559
  msgstr ""
560
  "Aktivér leveret e-mail med leveringsstatus\n"
561
 
562
+ #: includes/customizer/class-wc-email-customizer.php:130
563
+ #: includes/emails/class-shipment-delivered-email.php:94
564
  msgid "Your {site_title} order is now delivered"
565
  msgstr ""
566
  "Din {site_title} ordre er nu leveret\n"
567
 
568
+ #: includes/customizer/class-wc-email-customizer.php:179
 
 
 
 
 
 
 
 
 
 
 
569
  msgid "Enable Delivered order status email"
570
  msgstr ""
571
  "Aktivér leveret ordre status email\n"
572
 
573
+ #: includes/customizer/class-wc-email-customizer.php:201
574
+ #: includes/customizer/class-wc-tracking-info-customizer.php:182
575
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:181
576
  msgid "Please select a order..."
577
  msgstr "Vælg venligst en ordre ..."
578
 
579
+ #: includes/customizer/class-wc-email-customizer.php:243
580
+ #: includes/customizer/class-wc-email-customizer.php:266
581
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:200
582
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:223
 
 
 
 
 
 
 
 
583
  msgid "Available variables: {site_title}, {order_number}"
584
  msgstr ""
585
 
586
+ #: includes/customizer/class-wc-email-customizer.php:289
587
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:246
588
  msgid ""
589
  "available variables: {site_title}, {customer_email}, {customer_first_name}, "
590
  "{customer_last_name}, {customer_username}, {order_number}"
591
  msgstr ""
592
 
593
+ #: includes/customizer/class-wc-email-customizer.php:308
594
  msgid "Display tracking details"
595
  msgstr ""
596
 
597
+ #: includes/customizer/class-wc-email-customizer.php:324
598
  msgid "Display order details"
599
  msgstr ""
600
 
601
+ #: includes/customizer/class-wc-email-customizer.php:341
602
  msgid "Display Shipping Address"
603
  msgstr ""
604
 
605
+ #: includes/customizer/class-wc-email-customizer.php:358
606
  msgid "Display Billing Address"
607
  msgstr ""
608
 
609
+ #: includes/customizer/class-wc-email-customizer.php:375
610
  msgid "Enable Google Analytics tracking"
611
  msgstr ""
612
 
613
+ #: includes/customizer/class-wc-email-customizer.php:393
614
  msgid ""
615
  "This will be appended to URL in the email content – e.g. "
616
  "utm_source=ast&utm_medium=email&utm_campaign=delivered"
617
  msgstr ""
618
 
619
+ #: includes/customizer/class-wc-failure-email-customizer.php:123
620
  msgid "Your order #{order_number} is Failed Attempt"
621
  msgstr "Din ordre # {order_nummer} er mislykket"
622
 
623
+ #: includes/customizer/class-wc-failure-email-customizer.php:125
624
  msgid ""
625
  "Hi there. we thought you'd like to know that your recent order from "
626
  "{site_title} is Failed Attempt"
628
  "Hej. vi troede, du gerne vil vide, at din seneste ordre fra {site_title} er "
629
  "mislykket forsøg"
630
 
631
+ #: includes/customizer/class-wc-failure-email-customizer.php:156
632
  msgid "Failed Attempt shipment status email"
633
  msgstr "Mislykket Forsøg på e-mail med forsendelsesstatus"
634
 
635
+ #: includes/customizer/class-wc-failure-email-customizer.php:171
636
  msgid "Enable Failed Attempt shipment status email"
637
  msgstr "Aktivér mislykket forsøg på e-mail med status for forsendelse"
638
 
639
+ #: includes/customizer/class-wc-intransit-email-customizer.php:126
640
  msgid "Your order #{order_number} is in transit"
641
  msgstr ""
642
  "Din ordre # {order_number} er i transit\n"
643
 
644
+ #: includes/customizer/class-wc-intransit-email-customizer.php:128
645
  msgid ""
646
  "Hi there. we thought you'd like to know that your recent order from "
647
  "{site_title} is in transit"
649
  "Hej. Vi troede, at du gerne vil vide, at din seneste ordre fra {site_title} "
650
  "er i transit"
651
 
652
+ #: includes/customizer/class-wc-intransit-email-customizer.php:159
653
  msgid "In Transit shipment status email"
654
  msgstr ""
655
  "I transitforsendelse status email\n"
656
 
657
+ #: includes/customizer/class-wc-intransit-email-customizer.php:174
658
  msgid "Enable In Transit shipment status email"
659
  msgstr "Aktivér e-mail i transitforsendelsesstatus"
660
 
661
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:125
662
  msgid "Your order #{order_number} is out for delivery"
663
  msgstr "Din ordre # {order_number} er ude for levering"
664
 
665
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:127
666
  msgid ""
667
  "Hi there. we thought you'd like to know that your recent order from "
668
  "{site_title} is out for delivery."
670
  "Hej. vi troede, at du gerne vil vide, at din seneste ordre fra {site_title} "
671
  "er ude for levering."
672
 
673
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:158
674
  msgid "Out For Delivery shipment status email"
675
  msgstr ""
676
  "Out For Delivery forsendelse status email\n"
677
 
678
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:173
679
  msgid "Enable Out For Delivery shipment status email"
680
  msgstr "Aktivér Send e-mail til afsendelsesstatus for levering"
681
 
682
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:123
683
  msgid "Your order #{order_number} has returned to sender"
684
  msgstr "Din ordre # {order_number} er returneret til afsenderen"
685
 
686
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:125
687
  msgid ""
688
  "Hi there. we thought you'd like to know that your recent order from "
689
  "{site_title} has been returned to sender."
691
  "Hej. vi troede, at du gerne vil vide, at din seneste ordre fra {site_title} "
692
  "er blevet returneret til afsenderen."
693
 
694
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:156
695
  msgid "Return To Sender shipment status email"
696
  msgstr ""
697
  "Returner til afsendelsesstatus for afsendelsesstatus\n"
698
 
699
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:171
700
  msgid "Enable Return To Sender shipment status email"
701
  msgstr ""
702
  "Aktivér Send e-mail til afsendelse af afsendelsesstatus\n"
703
 
704
+ #: includes/customizer/class-wc-tracking-info-customizer.php:144
705
+ #: includes/customizer/class-wc-tracking-info-customizer.php:364
706
+ #: templates/emails/tracking-info.php:132
707
+ #: templates/myaccount/tracking-info.php:91
708
  msgid "Provider"
709
  msgstr "Fragtfirma"
710
 
711
+ #: includes/customizer/class-wc-tracking-info-customizer.php:145
712
+ #: includes/customizer/class-wc-tracking-info-customizer.php:386
713
+ #: templates/emails/tracking-info.php:156
714
+ #: templates/myaccount/tracking-info.php:113
 
715
  msgid "Tracking Number"
716
  msgstr "Tracking nummer"
717
 
718
+ #: includes/customizer/class-wc-tracking-info-customizer.php:146
719
+ #: includes/customizer/class-wc-tracking-info-customizer.php:407
720
  msgid "Shipped Date"
721
  msgstr ""
722
  "Afsendt dato\n"
723
 
724
+ #: includes/customizer/class-wc-tracking-info-customizer.php:179
725
  msgid ""
726
  "select from last 20 orders one order that you added tracking info in order "
727
  "to preview and design the tracking info table."
730
  "sporingsoplysninger for at forhåndsvise og designe "
731
  "sporingsinformatortabellen."
732
 
733
+ #: includes/customizer/class-wc-tracking-info-customizer.php:198
734
+ #: includes/views/admin_options_settings.php:15
735
+ #: includes/views/admin_options_trackship_integration.php:82
736
+ msgid "General Settings"
737
+ msgstr "Generelle indstillinger"
738
+
739
+ #: includes/customizer/class-wc-tracking-info-customizer.php:213
740
  msgid "Tracking Display Position"
741
  msgstr "Sporing af skærmposition"
742
 
743
+ #: includes/customizer/class-wc-tracking-info-customizer.php:217
744
  msgid "Before Order Details"
745
  msgstr "Før ordredetaljer"
746
 
747
+ #: includes/customizer/class-wc-tracking-info-customizer.php:218
748
  msgid "After Order Details"
749
  msgstr "Efter ordredetaljer"
750
 
751
+ #: includes/customizer/class-wc-tracking-info-customizer.php:233
752
  msgid "Main Header text"
753
  msgstr "Hovedteksttekst"
754
 
755
+ #: includes/customizer/class-wc-tracking-info-customizer.php:240
 
756
  msgid "Tracking Information"
757
  msgstr "Sporing Oplysninger"
758
 
759
+ #: includes/customizer/class-wc-tracking-info-customizer.php:255
760
  msgid "Additional text after header"
761
  msgstr "Yderligere tekst efter overskrift"
762
 
763
+ #: includes/customizer/class-wc-tracking-info-customizer.php:276
764
+ msgid "Table Content"
765
+ msgstr ""
766
 
767
+ #: includes/customizer/class-wc-tracking-info-customizer.php:291
768
  msgid "Display Shipment Provider image"
769
  msgstr "Vis leveringsbillede af forsendelse"
770
 
771
+ #: includes/customizer/class-wc-tracking-info-customizer.php:308
772
  msgid "Hide date"
773
  msgstr "Skjul dato"
774
 
775
+ #: includes/customizer/class-wc-tracking-info-customizer.php:325
776
+ msgid "Table Header"
777
+ msgstr ""
778
+
779
+ #: includes/customizer/class-wc-tracking-info-customizer.php:340
780
+ msgid "Hide Header"
781
+ msgstr ""
782
+
783
+ #: includes/customizer/class-wc-tracking-info-customizer.php:357
784
  msgid "Provider Header Text"
785
  msgstr "Texto del encabezado del proveedor"
786
 
787
+ #: includes/customizer/class-wc-tracking-info-customizer.php:379
788
  msgid "Tracking Number Header Text"
789
  msgstr "Número de seguimiento del encabezado de texto"
790
 
791
+ #: includes/customizer/class-wc-tracking-info-customizer.php:400
792
  msgid "Shipped Date Header Text"
793
  msgstr "Texto de encabezado de fecha de envío"
794
 
795
+ #: includes/customizer/class-wc-tracking-info-customizer.php:421
796
  msgid "Track Label"
797
  msgstr "Sporetiket"
798
 
799
+ #: includes/customizer/class-wc-tracking-info-customizer.php:437
800
  msgid "Track Header Text"
801
  msgstr "Texto del encabezado de pista"
802
 
803
+ #: includes/customizer/class-wc-tracking-info-customizer.php:459
804
+ msgid "Table header font size"
805
+ msgstr "Tabeloverskriftstørrelse"
806
+
807
+ #: includes/customizer/class-wc-tracking-info-customizer.php:476
808
+ msgid "Table header font color"
809
+ msgstr "Tabeloverskriftstypefarve"
810
+
811
+ #: includes/customizer/class-wc-tracking-info-customizer.php:492
812
  msgid "Table Design"
813
  msgstr "Borddesign"
814
 
815
+ #: includes/customizer/class-wc-tracking-info-customizer.php:507
816
  msgid "Padding"
817
  msgstr "polstring"
818
 
819
+ #: includes/customizer/class-wc-tracking-info-customizer.php:527
820
  msgid "Background color"
821
  msgstr "Baggrundsfarve"
822
 
823
+ #: includes/customizer/class-wc-tracking-info-customizer.php:555
824
  msgid "Border color"
825
  msgstr ""
826
  "Border farve\n"
827
 
828
+ #: includes/customizer/class-wc-tracking-info-customizer.php:571
829
  msgid "Border size"
830
  msgstr ""
831
  "Border størrelse\n"
832
 
833
+ #: includes/customizer/class-wc-tracking-info-customizer.php:595
 
 
 
 
 
 
834
  msgid "Table text align"
835
  msgstr "Tabeltekst justeres"
836
 
837
+ #: includes/customizer/class-wc-tracking-info-customizer.php:618
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
838
  msgid "Table content font size"
839
  msgstr "Tabelindhold skriftstørrelse"
840
 
841
+ #: includes/customizer/class-wc-tracking-info-customizer.php:635
842
  msgid "Table content font color"
843
  msgstr "Tabelindhold fontfarve"
844
 
845
+ #: includes/customizer/class-wc-tracking-info-customizer.php:651
846
  msgid "Content line height"
847
  msgstr ""
848
  "Indholdslinjehøjde\n"
849
 
850
+ #: includes/customizer/class-wc-tracking-info-customizer.php:672
851
  msgid "Content font weight"
852
  msgstr ""
853
  "Indhold skrifttype vægt\n"
854
 
855
+ #: includes/customizer/class-wc-tracking-info-customizer.php:694
856
+ msgid "Track Button Design"
857
+ msgstr ""
858
 
859
+ #: includes/customizer/class-wc-tracking-info-customizer.php:708
860
  msgid "Track Link Font Color"
861
  msgstr "Spor link font farve"
862
 
863
+ #: includes/customizer/class-wc-tracking-info-customizer.php:724
864
  msgid "Track Link Background Color"
865
  msgstr "Track Link Baggrundsfarve"
866
 
867
+ #: includes/customizer/class-wc-tracking-info-customizer.php:739
868
  msgid "Track link Border"
869
  msgstr "Spor link grænse"
870
 
871
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:116
872
+ msgid "Your {site_title} order is now partial shipped"
 
 
 
 
873
  msgstr ""
 
874
 
875
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:118
876
+ msgid ""
877
+ "Hi there. we thought you'd like to know that your recent order from "
878
+ "{site_title} has been Partial Shipped."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
879
  msgstr ""
 
880
 
881
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:159
882
+ msgid "Enable Partial Shipped order status email"
883
  msgstr ""
 
 
 
 
 
884
 
885
  #: includes/emails/class-shipment-delivered-email.php:32
886
  msgid "Delivered order"
892
  "delivered and usually indicate that their orders have been shipped."
893
  msgstr ""
894
 
895
+ #: includes/emails/class-shipment-delivered-email.php:279
896
+ msgid "Click Here"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
897
  msgstr ""
898
 
899
+ #: includes/emails/class-shipment-delivered-email.php:280
 
 
 
 
900
  msgid "Edit in customizer"
901
  msgstr ""
902
 
903
+ #: includes/views/admin_options_bulk_upload.php:10
904
  msgid "Upload CSV"
905
  msgstr "Upload CSV"
906
 
907
+ #: includes/views/admin_options_bulk_upload.php:20
908
  msgid ""
909
  "Replace tracking info if exists? (if not checked, the tracking info will be "
910
  "added)"
912
  "Erstat sporingsinformation, hvis der eksisterer? (hvis ikke markeret, vil "
913
  "sporingsoplysningerne blive tilføjet)"
914
 
915
+ #: includes/views/admin_options_bulk_upload.php:29
916
+ #: includes/views/admin_options_shipping_provider.php:119
917
+ #: includes/views/admin_options_shipping_provider.php:153
918
  msgid "Upload"
919
  msgstr "Upload"
920
 
921
+ #: includes/views/admin_options_bulk_upload.php:31
 
 
922
  msgid "Settings Saved."
923
  msgstr "Indstillinger gemt."
924
 
925
+ #: includes/views/admin_options_bulk_upload.php:41
926
+ msgid "Upload Progress - "
927
+ msgstr "Upload Progress -"
928
+
929
+ #: includes/views/admin_options_bulk_upload.php:45
930
+ msgid "Sample CSV"
931
+ msgstr ""
932
+
933
+ #: includes/views/admin_options_bulk_upload.php:50
934
  msgid "You can download an example of the csv file:"
935
  msgstr "Puedes descargar un ejemplo del archivo csv:"
936
 
937
+ #: includes/views/admin_options_bulk_upload.php:53
938
  msgid "Download sample csv file"
939
  msgstr "Download prøve csv fil"
940
 
941
+ #: includes/views/admin_options_bulk_upload.php:58
942
  msgid ""
943
  "For detailed instructions on how to upload tracking info in bulk, see our"
944
  msgstr ""
945
  "Para obtener instrucciones detalladas sobre cómo cargar información de "
946
  "seguimiento de forma masiva, consulte nuestra"
947
 
948
+ #: includes/views/admin_options_settings.php:26
949
+ #: includes/views/admin_options_settings.php:74
950
+ #: includes/views/admin_options_settings.php:100
951
+ #: includes/views/admin_options_trackship_integration.php:93
952
+ #: includes/views/admin_options_trackship_integration.php:124
953
+ msgid "Save Changes"
954
+ msgstr ""
955
+
956
+ #: includes/views/admin_options_settings.php:40
957
+ msgid "Tracking Info Display"
958
+ msgstr ""
959
 
960
+ #: includes/views/admin_options_settings.php:49
961
+ msgid "You can customize the tracking info display on emails and my account"
962
+ msgstr ""
963
 
964
+ #: includes/views/admin_options_settings.php:52
965
+ msgid "Launch Customizer"
966
+ msgstr ""
 
967
 
968
+ #: includes/views/admin_options_settings.php:62
 
969
  msgid "Delivered Order Status"
970
  msgstr "Leveret ordrestatus"
971
 
972
+ #: includes/views/admin_options_settings.php:88
973
+ msgid "Partial Shipped Order Status"
974
  msgstr ""
 
975
 
976
+ #: includes/views/admin_options_settings.php:94
977
+ #, php-format
978
+ msgid ""
979
+ "<strong>PLEASE NOTE</strong> - If you use the custom order status \"Partial "
980
+ "Shipped\", when you deactivate the plugin, you must register this order "
981
+ "status in function.php in order to see these orders in the orders admin. You "
982
+ "can find the <a href=\"%s\" target=\"blank\">snippet</a> to use in functions."
983
+ "php here or you can manually change all your \"partial-shipped\" order to "
984
+ "\"completed\" before deactivating the plugin."
985
+ msgstr ""
986
 
987
+ #: includes/views/admin_options_shipping_provider.php:12
988
+ #: includes/views/admin_options_shipping_provider.php:23
989
+ msgid "Active"
990
+ msgstr ""
991
+
992
+ #: includes/views/admin_options_shipping_provider.php:13
993
+ #: includes/views/admin_options_shipping_provider.php:23
994
+ msgid "Inactive"
995
+ msgstr ""
996
+
997
+ #: includes/views/admin_options_shipping_provider.php:14
998
+ msgid "Custom"
999
+ msgstr ""
1000
+
1001
+ #: includes/views/admin_options_shipping_provider.php:21
1002
+ msgid "Add Custom Provider"
1003
+ msgstr ""
1004
+
1005
+ #: includes/views/admin_options_shipping_provider.php:22
1006
+ #: includes/views/admin_options_shipping_provider.php:170
1007
+ #: includes/views/admin_options_shipping_provider.php:177
1008
+ msgid "Sync Shipping Providers"
1009
+ msgstr ""
1010
+
1011
+ #: includes/views/admin_options_shipping_provider.php:23
1012
+ msgid "Reset"
1013
+ msgstr ""
1014
 
1015
+ #: includes/views/admin_options_shipping_provider.php:27
1016
+ msgid "Search by provider / country"
1017
+ msgstr ""
1018
+
1019
+ #: includes/views/admin_options_shipping_provider.php:95
1020
+ #, php-format
1021
+ msgid "You don't have any %s shipping providers."
1022
+ msgstr "Du har ikke% s forsendelsesudbydere."
1023
+
1024
+ #: includes/views/admin_options_shipping_provider.php:101
1025
  msgid "Add Custom Shipping Provider"
1026
  msgstr "Tilføj Tilpasset forsendelsesleverandør"
1027
 
1028
+ #: includes/views/admin_options_shipping_provider.php:108
1029
+ #: includes/views/admin_options_shipping_provider.php:142
1030
+ msgid "Shipping Country"
1031
+ msgstr ""
1032
 
1033
+ #: includes/views/admin_options_shipping_provider.php:109
1034
+ #: includes/views/admin_options_shipping_provider.php:143
1035
  msgid "Global"
1036
  msgstr ""
1037
 
1038
+ #: includes/views/admin_options_shipping_provider.php:135
1039
  msgid "Edit Custom Shipping Provider"
1040
  msgstr "Rediger leverandør af tilpasset forsendelse"
1041
 
1042
+ #: includes/views/admin_options_shipping_provider.php:171
1043
+ msgid ""
1044
+ "Syncing the shipping providers list add or updates the pre-set shipping "
1045
+ "providers and will not effect custom shipping providers."
1046
+ msgstr ""
 
 
 
1047
 
1048
+ #: includes/views/admin_options_shipping_provider.php:173
1049
  msgid "Providers Added"
1050
  msgstr "Udbydere tilføjet"
1051
 
1052
+ #: includes/views/admin_options_shipping_provider.php:174
1053
  msgid "Providers Updated"
1054
  msgstr "Udbydere opdateret"
1055
 
1056
+ #: includes/views/admin_options_shipping_provider.php:175
1057
  msgid "Providers Deleted"
1058
  msgstr "Udbydere er slettet"
1059
 
1060
+ #: includes/views/admin_options_trackship_integration.php:107
 
 
 
 
 
1061
  msgid "Tracking Page"
1062
  msgstr "Tracking Page"
1063
 
1064
+ #: includes/views/admin_options_trackship_integration.php:117
 
 
 
 
1065
  msgid "Click to preview the tracking page"
1066
  msgstr "Klik for at forhåndsvise sporingssiden"
1067
 
1068
+ #: includes/views/admin_options_trackship_integration.php:118
1069
  msgid "PLEASE NOTE - make sure to save your settings before preview."
1070
  msgstr "BEMÆRK - sørg for at gemme dine indstillinger før forhåndsvisning."
1071
 
1072
+ #: includes/views/admin_options_trackship_integration.php:137
1073
  msgid "Shipment Status Notifications "
1074
  msgstr "Notifikationer om forsendelsesstatus"
1075
 
1076
+ #: includes/views/admin_options_trackship_integration.php:163
1077
  msgid ""
1078
  "Carrier has accepted or picked up shipment from shipper. The shipment is on "
1079
  "the way."
1081
  "Luftfartsselskab har accepteret eller hentet forsendelse fra afsender. "
1082
  "Forsendelsen er på vej."
1083
 
1084
+ #: includes/views/admin_options_trackship_integration.php:177
1085
  msgid "Shipment is returned to sender"
1086
  msgstr "Forsendelse returneres til afsenderen"
1087
 
1088
+ #: includes/views/admin_options_trackship_integration.php:191
1089
  msgid "The shipment is ready to pickup."
1090
  msgstr "Forsendelsen er klar til afhentning."
1091
 
1092
+ #: includes/views/admin_options_trackship_integration.php:204
1093
  msgid "Carrier is about to deliver the shipment"
1094
  msgstr "Carrier er ved at levere forsendelsen"
1095
 
1096
+ #: includes/views/admin_options_trackship_integration.php:218
1097
  msgid "The shipment was delivered successfully"
1098
  msgstr "Forsendelsen blev leveret med succes"
1099
 
1100
+ #: includes/views/admin_options_trackship_integration.php:219
1101
  msgid ""
1102
  "You already have delivered email enabled, to enable this email you'll need "
1103
  "to disable the order status delivered in settings."
1105
  "Du har allerede leveret e-mail aktiveret, for at aktivere denne e-mail skal "
1106
  "du deaktivere ordrestatus leveret i indstillinger."
1107
 
1108
+ #: includes/views/admin_options_trackship_integration.php:233
1109
  msgid ""
1110
  "Carrier attempted to deliver but failed, and usually leaves a notice and "
1111
  "will try to deliver the package again."
1113
  "Luftfartsselskab forsøgte at levere, men mislykkedes, og efterlader normalt "
1114
  "en meddelelse og vil forsøge at levere pakken igen."
1115
 
1116
+ #: includes/views/admin_options_tools.php:14
1117
+ msgid "Get Shipment Status"
 
 
 
 
 
 
 
 
 
 
 
 
1118
  msgstr ""
1119
 
1120
+ #: includes/views/admin_options_tools.php:23
1121
+ msgid ""
1122
+ "You can send all your orders from the last 30 days to get shipment status "
1123
+ "from TrackShip:"
 
 
1124
  msgstr ""
 
1125
 
1126
  #. %s: Order ID.
1127
+ #: templates/emails/wcast-email-order-details.php:47
1128
  #, php-format
1129
  msgid "Order number: %s"
1130
  msgstr ""
1131
  "Ordrenummer:% s\n"
1132
 
1133
+ #. Name of the plugin
1134
+ msgid "Advanced Shipment Tracking for WooCommerce"
1135
+ msgstr ""
1136
+
1137
+ #. Description of the plugin
1138
+ msgid ""
1139
+ "Add shipment tracking information to your WooCommerce orders and provide "
1140
+ "customers with an easy way to track their orders. Shipment tracking Info "
1141
+ "will appear in customers accounts (in the order panel) and in WooCommerce "
1142
+ "order complete email."
1143
  msgstr ""
 
1144
 
1145
+ #. Author of the plugin
1146
+ msgid "zorem"
1147
+ msgstr ""
lang/woo-advanced-shipment-tracking-de_DE.mo CHANGED
Binary file
lang/woo-advanced-shipment-tracking-de_DE.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce Advanced Shipment Tracking\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2019-09-06 11:44+0000\n"
6
- "PO-Revision-Date: 2019-09-06 11:45+0000\n"
7
  "Last-Translator: gaurav <gaurav1092@zorem.com>\n"
8
  "Language-Team: German\n"
9
  "Language: de_DE\n"
@@ -12,9 +12,9 @@ msgstr ""
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
  "X-Generator: Loco https://localise.biz/\n"
15
- "X-Loco-Version: 2.3.0; wp-5.2.3"
16
 
17
- #: woocommerce-advanced-shipment-tracking.php:112
18
  #, php-format
19
  msgid ""
20
  "Please install and activate %sWooCommerce%s for WooCommerce Advanced "
@@ -23,8 +23,13 @@ msgstr ""
23
  "Bitte installieren und aktivieren Sie% sWooCommerce% s für WooCommerce "
24
  "Advanced Shipment Tracking!\n"
25
 
26
- #: woocommerce-advanced-shipment-tracking.php:390
27
- #: includes/views/admin_options_settings.php:21
 
 
 
 
 
28
  #, php-format
29
  msgid ""
30
  "<strong>PLEASE NOTE</strong> - If you use the custom order status "
@@ -35,495 +40,7 @@ msgid ""
35
  "\"completed\" before deactivating the plugin."
36
  msgstr ""
37
 
38
- #: includes/class-wc-advanced-shipment-tracking-admin.php:209
39
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1144
40
- msgid "Shipped"
41
- msgstr "Versandt"
42
-
43
- #: includes/class-wc-advanced-shipment-tracking-admin.php:226
44
- #, php-format
45
- msgid "Shipped <span class=\"count\">(%s)</span>"
46
- msgid_plural "Shipped <span class=\"count\">(%s)</span>"
47
- msgstr[0] "Ausgeliefert <span class = \"count\"> (% s) </ span>"
48
- msgstr[1] "Ausgeliefert <span class = \"count\"> (% s) </ span>"
49
-
50
- #: includes/class-wc-advanced-shipment-tracking-admin.php:240
51
- msgid "Change status to shipped"
52
- msgstr "Status in versandt ändern"
53
-
54
- #: includes/class-wc-advanced-shipment-tracking-admin.php:250
55
- #: includes/class-wc-advanced-shipment-tracking-admin.php:279
56
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1594
57
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1785
58
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2190
59
- #: includes/customizer/class-wcast-customizer.php:104
60
- #: includes/customizer/class-wc-delivered-email-customizer.php:115
61
- #: includes/views/admin_options_trackship_integration.php:134
62
- msgid "Delivered"
63
- msgstr "Geliefert"
64
-
65
- #: includes/class-wc-advanced-shipment-tracking-admin.php:255
66
- #, php-format
67
- msgid "Delivered <span class=\"count\">(%s)</span>"
68
- msgid_plural "Delivered <span class=\"count\">(%s)</span>"
69
- msgstr[0] "Geliefert <span class = \"count\"> (% s) </ span>"
70
- msgstr[1] "Geliefert <span class = \"count\"> (% s) </ span>"
71
-
72
- #: includes/class-wc-advanced-shipment-tracking-admin.php:261
73
- #: includes/class-wc-advanced-shipment-tracking-admin.php:290
74
- msgid "Updated Tracking"
75
- msgstr "Aktualisiertes Tracking"
76
-
77
- #: includes/class-wc-advanced-shipment-tracking-admin.php:266
78
- #, php-format
79
- msgid "Updated Tracking <span class=\"count\">(%s)</span>"
80
- msgid_plural "Updated Tracking <span class=\"count\">(%s)</span>"
81
- msgstr[0] "Tracking <span class = \"count\"> (% s) </ span> aktualisiert"
82
- msgstr[1] "Tracking <span class = \"count\"> (% s) </ span> aktualisiert"
83
-
84
- #: includes/class-wc-advanced-shipment-tracking-admin.php:320
85
- msgid "Change status to delivered"
86
- msgstr "Status in Auslieferung ändern"
87
-
88
- #: includes/class-wc-advanced-shipment-tracking-admin.php:523
89
- msgid "Shipment status"
90
- msgstr "Versandstatus"
91
-
92
- #: includes/class-wc-advanced-shipment-tracking-admin.php:622
93
- msgid ""
94
- "Get Shipment Status is limited to 100 orders at a time, please select up to "
95
- "100 orders."
96
- msgstr ""
97
-
98
- #: includes/class-wc-advanced-shipment-tracking-admin.php:667
99
- msgid "Order"
100
- msgstr "Auftrag"
101
-
102
- #: includes/class-wc-advanced-shipment-tracking-admin.php:668
103
- msgid "Item"
104
- msgstr "Artikel"
105
-
106
- #: includes/class-wc-advanced-shipment-tracking-admin.php:669
107
- msgid "Line Item"
108
- msgstr "Werbebuchung"
109
-
110
- #: includes/class-wc-advanced-shipment-tracking-admin.php:670
111
- msgid "Class"
112
- msgstr "Klasse"
113
-
114
- #: includes/class-wc-advanced-shipment-tracking-admin.php:671
115
- msgid "Delete the selected rates?"
116
- msgstr "Die ausgewählten Tarife löschen?"
117
-
118
- #: includes/class-wc-advanced-shipment-tracking-admin.php:672
119
- msgid "Duplicate the selected rates?"
120
- msgstr "Die ausgewählten Tarife duplizieren?"
121
-
122
- #: includes/class-wc-advanced-shipment-tracking-admin.php:673
123
- msgid "Really want to bulk change all provider status?"
124
- msgstr "Wollen Sie wirklich alle Anbieterstatus ändern?"
125
-
126
- #: includes/class-wc-advanced-shipment-tracking-admin.php:674
127
- #: includes/views/admin_options_settings.php:26
128
- msgid "Data saved successfully."
129
- msgstr "Daten erfolgreich gespeichert."
130
-
131
- #: includes/class-wc-advanced-shipment-tracking-admin.php:675
132
- msgid "Really delete this entry? This will not be undo."
133
- msgstr "Diesen Eintrag wirklich löschen? Dies wird nicht rückgängig gemacht."
134
-
135
- #: includes/class-wc-advanced-shipment-tracking-admin.php:676
136
- msgid "You can upload only csv file."
137
- msgstr "Sie können nur eine CSV-Datei hochladen."
138
-
139
- #: includes/class-wc-advanced-shipment-tracking-admin.php:677
140
- msgid "This browser does not support HTML5."
141
- msgstr "Dieser Browser unterstützt kein HTML5."
142
-
143
- #: includes/class-wc-advanced-shipment-tracking-admin.php:678
144
- msgid "Please upload a valid CSV file."
145
- msgstr "Laden Sie eine gültige CSV-Datei hoch."
146
-
147
- #: includes/class-wc-advanced-shipment-tracking-admin.php:736
148
- msgid "Shipping Providers"
149
- msgstr "Versandanbieter"
150
-
151
- #: includes/class-wc-advanced-shipment-tracking-admin.php:739
152
- msgid "Settings"
153
- msgstr "die Einstellungen"
154
-
155
- #: includes/class-wc-advanced-shipment-tracking-admin.php:742
156
- msgid "Bulk Upload"
157
- msgstr "Bulk-Upload"
158
-
159
- #: includes/class-wc-advanced-shipment-tracking-admin.php:745
160
- msgid "TrackShip"
161
- msgstr ""
162
-
163
- #: includes/class-wc-advanced-shipment-tracking-admin.php:880
164
- msgid "Connected"
165
- msgstr ""
166
- "In Verbindung gebracht\n"
167
-
168
- #: includes/class-wc-advanced-shipment-tracking-admin.php:886
169
- msgid ""
170
- "Auto-track all your shipments, get real-time shipment tracking updates "
171
- "without leaving your stores admin."
172
- msgstr ""
173
- "Verfolgen Sie alle Ihre Sendungen automatisch und erhalten Sie "
174
- "Sendungsverfolgungsaktualisierungen in Echtzeit, ohne Ihren "
175
- "Händleradministrator zu verlassen.\n"
176
-
177
- #: includes/class-wc-advanced-shipment-tracking-admin.php:889
178
- #, php-format
179
- msgid ""
180
- "You must have account and connect your store to %s in order to activate "
181
- "these advanced features."
182
- msgstr ""
183
- "Sie müssen über ein Konto verfügen und Ihr Geschäft mit% s verbinden, um "
184
- "diese erweiterten Funktionen zu aktivieren.\n"
185
-
186
- #: includes/class-wc-advanced-shipment-tracking-admin.php:892
187
- #, php-format
188
- msgid "50 free Trackers for every new account! Get your %s account now>>"
189
- msgstr ""
190
- "50 kostenlose Tracker für jeden neuen Account! Hol dir jetzt dein% s-Konto >>"
191
- "\n"
192
-
193
- #: includes/class-wc-advanced-shipment-tracking-admin.php:988
194
- msgid "TrackShip Connection Status"
195
- msgstr "TrackShip-Verbindungsstatus"
196
-
197
- #: includes/class-wc-advanced-shipment-tracking-admin.php:995
198
- #: includes/emails/class-shipment-delivered-email.php:226
199
- msgid "Enable/Disable"
200
- msgstr "Aktivieren deaktivieren"
201
-
202
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1001
203
- msgid "Set order status Delivered when order is delivered"
204
- msgstr ""
205
- "Setzt den Bestellstatus Ausgeliefert, wenn die Bestellung ausgeliefert wird\n"
206
-
207
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1008
208
- #, php-format
209
- msgid ""
210
- "You have %s %s orders that you can track with TrackShip, you can send these "
211
- "shipments to TrackShip in Bulk."
212
- msgstr ""
213
-
214
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1009
215
- msgid "Get Shipment Status"
216
- msgstr ""
217
-
218
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1047
219
- msgid ""
220
- "You must add the shortcode [wcast-track-order] to the \"page name\" in order "
221
- "for the tracking page to work."
222
- msgstr ""
223
-
224
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1055
225
- msgid "Select Tracking Page"
226
- msgstr ""
227
- "Wählen Sie Tracking-Seite\n"
228
-
229
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1063
230
- #: includes/customizer/class-wc-tracking-page-customizer.php:150
231
- msgid "Remove Trackship branding from tracking page"
232
- msgstr ""
233
- "Entfernen Sie das Trackship-Branding von der Tracking-Seite\n"
234
-
235
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1069
236
- msgid "Use the tracking page in the customer email/my account tracking link"
237
- msgstr ""
238
- "Verwenden Sie die Tracking-Seite in der Kunden-E-Mail / meinem Konto-"
239
- "Tracking-Link\n"
240
-
241
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1075
242
- msgid "Select primary color for tracking page"
243
- msgstr ""
244
- "Wählen Sie die Primärfarbe für die Verfolgungsseite aus\n"
245
-
246
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1081
247
- msgid "Select content border color for tracking page"
248
- msgstr ""
249
- "Wählen Sie die Farbe des Inhaltsrahmens für die Nachverfolgungsseite aus\n"
250
-
251
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1145
252
- msgid ""
253
- "Default \"mark as <span class=\"shipped_label\">shipped</span>\" checkbox "
254
- "state"
255
- msgstr ""
256
-
257
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1146
258
- msgid ""
259
- "This means that the 'mark as <span class='shipped_label'>shipped</span>' "
260
- "will be selected by default when adding tracking info to orders."
261
- msgstr ""
262
-
263
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1148
264
- msgid "Completed"
265
- msgstr "Abgeschlossen"
266
-
267
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1149
268
- msgid ""
269
- "Default \"mark as <span class=\"shipped_label\">completed</span>\" checkbox "
270
- "state"
271
- msgstr ""
272
-
273
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1150
274
- msgid ""
275
- "This means that the 'mark as <span class='shipped_label'>completed</span>' "
276
- "will be selected by default when adding tracking info to orders."
277
- msgstr ""
278
-
279
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1156
280
- msgid "Rename the “Completed” Order status to “Shipped”"
281
- msgstr ""
282
- "Benennen Sie den Status der abgeschlossenen Bestellung in \"Versendet\" um."
283
-
284
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1169
285
- msgid "On which customer order status email to include tracking info?"
286
- msgstr ""
287
- "In welcher E-Mail mit dem Bestellstatus des Kunden werden Informationen zur "
288
- "Sendungsverfolgung angezeigt?"
289
-
290
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1170
291
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2192
292
- msgid "Cancelled"
293
- msgstr "Abgebrochen"
294
-
295
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1171
296
- msgid "Customer Invoice"
297
- msgstr "Kundenrechnung"
298
-
299
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1172
300
- msgid "Refunded"
301
- msgstr "Erstattet"
302
-
303
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1173
304
- msgid "Processing"
305
- msgstr "wird bearbeitet"
306
-
307
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1174
308
- msgid "Failed"
309
- msgstr "Gescheitert"
310
-
311
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1182
312
- msgid "Show tracking info in Invoice"
313
- msgstr "Tracking-Informationen in Rechnung anzeigen"
314
-
315
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1188
316
- msgid "Show tracking info in Packing Slip"
317
- msgstr "Tracking-Informationen im Packzettel anzeigen"
318
-
319
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1205
320
- msgid "Enable a New Custom order status - “Delivered”"
321
- msgstr ""
322
- "Aktivieren Sie einen neuen benutzerdefinierten Auftragsstatus - \"Geliefert\""
323
-
324
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1206
325
- msgid ""
326
- "if you enable the delivered item, you will have the option to send delivered "
327
- "email notifications."
328
- msgstr ""
329
- "Wenn Sie den gelieferten Artikel aktivieren, haben Sie die Möglichkeit, "
330
- "Benachrichtigungen per E-Mail zu senden."
331
-
332
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1212
333
- msgid "Delivered Status Label color"
334
- msgstr "Farbe des gelieferten Statuslabels"
335
-
336
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1218
337
- #: includes/customizer/class-wcast-customizer.php:58
338
- #: includes/customizer/class-wc-email-customizer.php:155
339
- msgid "Delivered order status email"
340
- msgstr ""
341
- "Bestellstatus per E-Mail zugestellt\n"
342
-
343
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1219
344
- #: includes/views/admin_options_trackship_integration.php:80
345
- #: includes/views/admin_options_trackship_integration.php:94
346
- #: includes/views/admin_options_trackship_integration.php:108
347
- #: includes/views/admin_options_trackship_integration.php:121
348
- #: includes/views/admin_options_trackship_integration.php:135
349
- #: includes/views/admin_options_trackship_integration.php:150
350
- msgid "Edit"
351
- msgstr "Bearbeiten"
352
-
353
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1236
354
- msgid ""
355
- "Change the \"Delivered\" orders to \"Completed\" when you deactivate the "
356
- "plugin"
357
- msgstr ""
358
- "Ändere die \"Ausgelieferten\" Bestellungen in \"Abgeschlossen\", wenn du das "
359
- "Plugin deaktivierst"
360
-
361
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1238
362
- msgid "No, I will use the snippet"
363
- msgstr "Nein, ich werde das Snippet verwenden"
364
-
365
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1239
366
- msgid "Yes, change all Delivered orders to Completed"
367
- msgstr "Ja, ändern Sie alle gelieferten Bestellungen in Abgeschlossen"
368
-
369
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1241
370
- #, php-format
371
- msgid ""
372
- "PLEASE NOTE - If you use the custom order status \"Delivered\", when you "
373
- "deactivate the plugin, you must register this order status in function.php "
374
- "in order to see these orders in the orders admin. You can find the snippet "
375
- "to use in functions.php %s or we can set to change all your \"delivered\" "
376
- "order to \"completed\"."
377
- msgstr ""
378
- "BITTE BEACHTEN SIE - Wenn Sie den benutzerdefinierten Bestellstatus "
379
- "\"Geliefert\" verwenden und das Plugin deaktivieren, müssen Sie diesen "
380
- "Bestellstatus in function.php registrieren, um diese Bestellungen im "
381
- "Bestelladministrator anzuzeigen. Sie finden das zu verwendende Snippet in "
382
- "functions.php% s, oder wir können festlegen, dass alle Ihre \"gelieferten\" "
383
- "Bestellungen auf \"erledigt\" geändert werden."
384
-
385
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1560
386
- msgid "Get shipment status"
387
- msgstr ""
388
- "Sendungsstatus abrufen\n"
389
-
390
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1588
391
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2187
392
- #: includes/customizer/class-wcast-customizer.php:74
393
- #: includes/customizer/class-wc-intransit-email-customizer.php:115
394
- #: includes/views/admin_options_trackship_integration.php:79
395
- msgid "In Transit"
396
- msgstr ""
397
- "Im Transit\n"
398
-
399
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1591
400
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2186
401
- #: includes/customizer/class-wcast-customizer.php:66
402
- msgid "Pre Transit"
403
- msgstr ""
404
- "Pre Transit\n"
405
-
406
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1597
407
- msgid "Out for delivery"
408
- msgstr ""
409
- "raus zur Lieferung\n"
410
-
411
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1600
412
- #: includes/customizer/class-wcast-customizer.php:89
413
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:116
414
- #: includes/views/admin_options_trackship_integration.php:107
415
- msgid "Available For Pickup"
416
- msgstr ""
417
- "Zur Abholung bereit\n"
418
-
419
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1603
420
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2194
421
- #: includes/customizer/class-wcast-customizer.php:82
422
- #: includes/customizer/class-wc-returntosender-email-customizer.php:116
423
- #: includes/views/admin_options_trackship_integration.php:93
424
- msgid "Return To Sender"
425
- msgstr ""
426
- "Zurück an den Absender\n"
427
-
428
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1606
429
- msgid "Delivery Failure"
430
- msgstr ""
431
- "Zustellungsfehler\n"
432
-
433
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1609
434
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2185
435
- msgid "Unknown"
436
- msgstr ""
437
- "unbekannte\n"
438
-
439
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1612
440
- msgid "Pending TrackShip"
441
- msgstr ""
442
- "Ausstehendes TrackShip\n"
443
-
444
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1615
445
- msgid "Invalid Tracking"
446
- msgstr ""
447
- "Ungültiges Tracking\n"
448
-
449
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1618
450
- msgid "Carrier unsupported"
451
- msgstr ""
452
- "Träger nicht unterstützt\n"
453
-
454
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1621
455
- msgid "Invalid User Key"
456
- msgstr ""
457
-
458
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1687
459
- msgid "Resend delivered order notification"
460
- msgstr "Gelieferte Bestellbenachrichtigung erneut senden"
461
-
462
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1745
463
- msgid "Shipped Order"
464
- msgstr "Versandauftrag"
465
-
466
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1764
467
- msgid "Mark order as delivered"
468
- msgstr "Bestellung als geliefert markieren"
469
-
470
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1771
471
- msgid "Add Tracking"
472
- msgstr ""
473
-
474
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1797
475
- msgid "Change order status to"
476
- msgstr "Ändern Sie den Auftragsstatus in"
477
-
478
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1892
479
- #: includes/views/admin_options_shipping_provider.php:88
480
- #, php-format
481
- msgid "You don't have any %s shipping providers."
482
- msgstr "Sie haben keine% s Versandanbieter."
483
-
484
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2145
485
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2157
486
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2169
487
- msgid "view details"
488
- msgstr "view details"
489
-
490
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2146
491
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2158
492
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2170
493
- msgid "hide details"
494
- msgstr "Details ausblenden"
495
-
496
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2188
497
- msgid "Available for Pickup"
498
- msgstr ""
499
-
500
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2189
501
- msgid "Out for Delivery"
502
- msgstr ""
503
-
504
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2191
505
- #: includes/customizer/class-wcast-customizer.php:112
506
- #: includes/customizer/class-wc-failure-email-customizer.php:113
507
- #: includes/views/admin_options_trackship_integration.php:149
508
- msgid "Failed Attempt"
509
- msgstr "Misslungener Versuch"
510
-
511
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2193
512
- msgid "Carrier Unsupported"
513
- msgstr ""
514
-
515
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2195
516
- #: includes/class-wc-advanced-shipment-tracking-front.php:457
517
- #: includes/class-wc-advanced-shipment-tracking-front.php:813
518
- msgid "Invalid Tracking Number"
519
- msgstr ""
520
- "Ungültige Tracking-Nummer\n"
521
-
522
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2200
523
- msgid "Filter by shipment status"
524
- msgstr ""
525
-
526
- #: includes/class-wc-advanced-shipment-tracking-front.php:138
527
  msgid ""
528
  "To track your order please enter your Order ID in the box below and press "
529
  "the \"Track\" button. This was given to you on your receipt and in the "
@@ -534,179 +51,309 @@ msgstr ""
534
  "auf Ihrer Quittung und in der Bestätigungs-E-Mail, die Sie hätten erhalten "
535
  "sollen, mitgeteilt.\n"
536
 
537
- #: includes/class-wc-advanced-shipment-tracking-front.php:139
538
- msgid "Order ID"
539
- msgstr "Auftragsnummer"
540
-
541
- #: includes/class-wc-advanced-shipment-tracking-front.php:139
542
- #: includes/class-wc-advanced-shipment-tracking-front.php:140
543
  msgid "Found in your order confirmation email."
544
  msgstr ""
545
  "Gefunden in Ihrer Auftragsbestätigungs-E-Mail.\n"
546
 
547
- #: includes/class-wc-advanced-shipment-tracking-front.php:140
548
  msgid "Order Email"
549
  msgstr ""
550
  "E-Mail bestellen\n"
551
 
552
- #: includes/class-wc-advanced-shipment-tracking-front.php:143
553
  #: includes/class-wc-advanced-shipment-tracking.php:260
554
- #: includes/class-wc-advanced-shipment-tracking.php:637
555
- #: includes/class-wc-advanced-shipment-tracking.php:763
556
- #: includes/customizer/class-wc-tracking-info-customizer.php:137
557
- #: includes/customizer/class-wc-tracking-info-customizer.php:381
558
- #: includes/views/html-tracking-info-design-preview.php:69
559
- #: templates/emails/tracking-info.php:152
560
- #: templates/myaccount/view-order.php:123 templates/pip/tracking-info.php:23
561
  msgid "Track"
562
  msgstr "Track"
563
 
564
- #: includes/class-wc-advanced-shipment-tracking-front.php:307
565
- #: includes/class-wc-advanced-shipment-tracking-front.php:662
566
  #, php-format
567
  msgid "Shipment - %s (out of %s)"
568
  msgstr ""
569
  "Versand -% s (von% s)\n"
570
 
571
- #: includes/class-wc-advanced-shipment-tracking-front.php:311
572
- #: includes/class-wc-advanced-shipment-tracking-front.php:666
573
- msgid "Order: "
574
- msgstr "Auftrag:"
575
-
576
- #: includes/class-wc-advanced-shipment-tracking-front.php:320
577
- #: includes/class-wc-advanced-shipment-tracking-front.php:324
578
- #: includes/class-wc-advanced-shipment-tracking-front.php:675
579
- #: includes/class-wc-advanced-shipment-tracking-front.php:679
580
  msgid "Estimated Delivery Date: "
581
  msgstr "Voraussichtlicher Liefertermin:"
582
 
583
- #: includes/class-wc-advanced-shipment-tracking-front.php:429
584
- #: includes/class-wc-advanced-shipment-tracking-front.php:785
 
585
  msgid "Tracking Details"
586
  msgstr "Verfolgungsdetails"
587
 
588
- #: includes/class-wc-advanced-shipment-tracking-front.php:448
589
- #: includes/class-wc-advanced-shipment-tracking-front.php:804
 
590
  msgid "view more"
591
  msgstr "mehr sehen"
592
 
593
- #: includes/class-wc-advanced-shipment-tracking-front.php:449
594
- #: includes/class-wc-advanced-shipment-tracking-front.php:805
 
595
  msgid "view less"
596
  msgstr "weniger anzeigen"
597
 
598
- #. esc_html__( '%1$s %2$s.' ),
599
- #: includes/class-wc-advanced-shipment-tracking-install.php:1583
600
- #, php-format
601
- msgid ""
602
- "We added many improvements to %1$s, please help and give us a review :) "
603
- "Thanks!"
604
  msgstr ""
605
- "Wir haben% 1 $ s viele Verbesserungen hinzugefügt. Bitte helfen Sie uns und "
606
- "geben Sie uns eine Bewertung :) Danke!"
607
 
608
- #: includes/class-wc-advanced-shipment-tracking.php:93
 
 
 
 
609
  #: includes/class-wc-advanced-shipment-tracking.php:244
610
- #: includes/customizer/class-wcast-customizer.php:30
611
  msgid "Shipment Tracking"
612
  msgstr "Sendungsverfolgung"
613
 
614
- #: includes/class-wc-advanced-shipment-tracking.php:179
615
- #: includes/class-wc-advanced-shipment-tracking.php:351
616
- msgid "Change order to Shipped?"
617
- msgstr ""
618
-
619
- #: includes/class-wc-advanced-shipment-tracking.php:181
620
  #: includes/class-wc-advanced-shipment-tracking.php:353
621
- msgid "Change order to Completed?"
622
  msgstr ""
623
 
624
  #: includes/class-wc-advanced-shipment-tracking.php:186
625
- msgid "Add Tracking Number"
 
626
  msgstr ""
627
 
628
  #: includes/class-wc-advanced-shipment-tracking.php:191
629
- #: includes/class-wc-advanced-shipment-tracking.php:369
 
 
 
 
630
  msgid "Provider:"
631
  msgstr "Anbieter:"
632
 
633
- #: includes/class-wc-advanced-shipment-tracking.php:211
634
- #: includes/class-wc-advanced-shipment-tracking.php:407
635
  msgid "Tracking number:"
636
  msgstr "Auftragsnummer, Frachtnummer, Sendungscode:"
637
 
638
- #: includes/class-wc-advanced-shipment-tracking.php:217
639
- #: includes/class-wc-advanced-shipment-tracking.php:415
640
  msgid "Date shipped:"
641
  msgstr "Lieferdatum:"
642
 
 
 
 
 
 
 
643
  #: includes/class-wc-advanced-shipment-tracking.php:260
644
- #: templates/pip/tracking-info.php:23
645
  msgid "Click here to track your shipment"
646
  msgstr "Klicken Sie hier, um Ihre Sendung zu verfolgen"
647
 
648
  #. 1: shipping date
649
  #: includes/class-wc-advanced-shipment-tracking.php:268
650
- #: templates/pip/tracking-info.php:29
651
  #, php-format
652
  msgid "Shipped on %s"
653
  msgstr "Versand auf% s"
654
 
655
- #: includes/class-wc-advanced-shipment-tracking.php:269
656
- msgid "Delete"
657
- msgstr "Löschen"
658
-
659
- #: includes/class-wc-advanced-shipment-tracking.php:365
660
  msgid "Add Tracking Info"
661
  msgstr "Tracking-Info hinzufügen"
662
 
663
- #: includes/class-wc-advanced-shipment-tracking.php:370
664
  msgid "Select Provider"
665
  msgstr "Wählen Sie Provider aus"
666
 
667
- #: includes/class-wc-advanced-shipment-tracking.php:430
668
  msgid "Save Tracking"
669
  msgstr "Tracking speichern"
670
 
671
- #: includes/class-wc-advanced-shipment-tracking.php:431
672
  msgid "Preview:"
673
  msgstr "Vorschau:"
674
 
675
- #: includes/class-wc-advanced-shipment-tracking.php:431
676
- msgid "Click here to track shipment"
677
- msgstr "Klicken Sie hier, um den Versand zu verfolgen"
 
 
678
 
679
- #: includes/customizer/class-wcast-customizer.php:39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
680
  msgid "Shipment Status Emails"
681
  msgstr "Sendungsstatus-E-Mails"
682
 
683
- #: includes/customizer/class-wcast-customizer.php:50
684
  msgid "Tracking info display"
685
  msgstr ""
686
  "Tracking-Info-Anzeige\n"
687
 
688
- #: includes/customizer/class-wcast-customizer.php:51
689
- msgid "This section lets you customize the Tracking Info display design."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
690
  msgstr ""
691
- "In diesem Abschnitt können Sie das Anzeigedesign der Tracking-Informationen "
692
- "anpassen."
693
 
694
- #: includes/customizer/class-wcast-customizer.php:96
695
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:115
696
- #: includes/views/admin_options_trackship_integration.php:120
697
  msgid "Out For Delivery"
698
  msgstr ""
699
  "Raus zur Lieferung\n"
700
 
701
- #: includes/customizer/class-wcast-customizer.php:352
 
 
 
 
 
 
 
 
 
 
 
 
702
  msgid "Select order to preview"
703
  msgstr "Wählen Sie die Bestellung aus, um eine Vorschau anzuzeigen"
704
 
705
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:115
706
  msgid "Your order #{order_number} is available for pickup"
707
  msgstr "Ihre Bestellnummer {order_number} steht zur Abholung bereit"
708
 
709
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:117
710
  msgid ""
711
  "Hi there. we thought you'd like to know that your recent order from "
712
  "{site_title} is available for pickup."
@@ -714,219 +361,183 @@ msgstr ""
714
  "Hallo. Wir dachten, Sie möchten wissen, dass Ihre letzte Bestellung von "
715
  "{site_title} zur Abholung verfügbar ist."
716
 
717
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:148
718
  msgid "Available For Pickup shipment status email"
719
  msgstr "Verfügbar für Abholung Versandstatus E-Mail"
720
 
721
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:149
722
- #: includes/customizer/class-wc-delivered-email-customizer.php:148
723
- #: includes/customizer/class-wc-email-customizer.php:156
724
- #: includes/customizer/class-wc-failure-email-customizer.php:145
725
- #: includes/customizer/class-wc-intransit-email-customizer.php:147
726
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:148
727
- #: includes/customizer/class-wc-returntosender-email-customizer.php:149
 
728
  msgid "This section lets you customize the Email Content."
729
  msgstr "In diesem Abschnitt können Sie den E-Mail-Inhalt anpassen."
730
 
731
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:163
732
  msgid "Enable Available For Pickup shipment status email"
733
  msgstr "Versandstatus-E-Mail für Abholung aktivieren"
734
 
735
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:179
736
- #: includes/customizer/class-wc-delivered-email-customizer.php:178
737
- #: includes/customizer/class-wc-email-customizer.php:189
738
- #: includes/customizer/class-wc-failure-email-customizer.php:175
739
- #: includes/customizer/class-wc-intransit-email-customizer.php:178
740
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:178
741
- #: includes/customizer/class-wc-returntosender-email-customizer.php:179
742
- #: includes/customizer/class-wc-tracking-info-customizer.php:161
 
743
  msgid "Preview order"
744
  msgstr "Vorschau der Bestellung"
745
 
746
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:200
747
- #: includes/customizer/class-wc-delivered-email-customizer.php:199
748
- #: includes/customizer/class-wc-failure-email-customizer.php:196
749
- #: includes/customizer/class-wc-intransit-email-customizer.php:199
750
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:199
751
- #: includes/customizer/class-wc-returntosender-email-customizer.php:200
752
- msgid "To"
753
- msgstr "Zu"
754
-
755
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:201
756
- #: includes/customizer/class-wc-delivered-email-customizer.php:200
757
- #: includes/customizer/class-wc-failure-email-customizer.php:197
758
- #: includes/customizer/class-wc-intransit-email-customizer.php:200
759
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:200
760
- #: includes/customizer/class-wc-returntosender-email-customizer.php:201
761
- msgid ""
762
- "Enter emails here or use variables such as {customer_email}. Multiple emails "
763
- "can be separated by commas."
764
- msgstr ""
765
- "Geben Sie hier E-Mails ein oder verwenden Sie Variablen wie {customer_email}."
766
- " Mehrere E-Mails können durch Kommas getrennt werden."
767
-
768
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:207
769
- #: includes/customizer/class-wc-delivered-email-customizer.php:206
770
- #: includes/customizer/class-wc-email-customizer.php:218
771
- #: includes/customizer/class-wc-failure-email-customizer.php:203
772
- #: includes/customizer/class-wc-intransit-email-customizer.php:206
773
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:206
774
- #: includes/customizer/class-wc-returntosender-email-customizer.php:207
775
  msgid "E.g. {customer.email}, admin@example.org"
776
  msgstr "Z.B. {customer.email}, admin@example.org"
777
 
778
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:222
779
- #: includes/customizer/class-wc-delivered-email-customizer.php:221
780
- #: includes/customizer/class-wc-email-customizer.php:234
781
- #: includes/customizer/class-wc-failure-email-customizer.php:218
782
- #: includes/customizer/class-wc-intransit-email-customizer.php:221
783
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:221
784
- #: includes/customizer/class-wc-returntosender-email-customizer.php:222
785
- msgid "Email subject"
786
- msgstr "E-Mail Betreff"
787
-
788
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:223
789
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:245
790
- #: includes/customizer/class-wc-delivered-email-customizer.php:222
791
- #: includes/customizer/class-wc-delivered-email-customizer.php:244
792
- #: includes/customizer/class-wc-failure-email-customizer.php:219
793
- #: includes/customizer/class-wc-failure-email-customizer.php:241
794
- #: includes/customizer/class-wc-intransit-email-customizer.php:222
795
- #: includes/customizer/class-wc-intransit-email-customizer.php:244
796
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:222
797
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:244
798
- #: includes/customizer/class-wc-returntosender-email-customizer.php:223
799
- #: includes/customizer/class-wc-returntosender-email-customizer.php:245
800
  msgid "Available placeholders: {site_title}, {order_number}"
801
  msgstr "Verfügbare Platzhalter: {site_title}, {order_number}"
802
 
803
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:229
804
- #: includes/customizer/class-wc-delivered-email-customizer.php:228
805
- #: includes/customizer/class-wc-email-customizer.php:241
806
- #: includes/customizer/class-wc-failure-email-customizer.php:225
807
- #: includes/customizer/class-wc-intransit-email-customizer.php:228
808
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:228
809
- #: includes/customizer/class-wc-returntosender-email-customizer.php:229
 
810
  msgid "Please enter email subject here"
811
  msgstr "Bitte geben Sie hier den E-Mail-Betreff ein"
812
 
813
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:244
814
- #: includes/customizer/class-wc-delivered-email-customizer.php:243
815
- #: includes/customizer/class-wc-email-customizer.php:257
816
- #: includes/customizer/class-wc-failure-email-customizer.php:240
817
- #: includes/customizer/class-wc-intransit-email-customizer.php:243
818
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:243
819
- #: includes/customizer/class-wc-returntosender-email-customizer.php:244
820
- #: includes/emails/class-shipment-delivered-email.php:250
821
- msgid "Email heading"
822
- msgstr "E-Mail-Überschrift"
823
-
824
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:251
825
- #: includes/customizer/class-wc-delivered-email-customizer.php:250
826
- #: includes/customizer/class-wc-email-customizer.php:264
827
- #: includes/customizer/class-wc-failure-email-customizer.php:247
828
- #: includes/customizer/class-wc-intransit-email-customizer.php:250
829
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:250
830
- #: includes/customizer/class-wc-returntosender-email-customizer.php:251
831
  msgid "Please enter email heading here"
832
  msgstr "Bitte geben Sie hier die E-Mail-Überschrift ein"
833
 
834
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:266
835
- #: includes/customizer/class-wc-delivered-email-customizer.php:265
836
- #: includes/customizer/class-wc-failure-email-customizer.php:262
837
- #: includes/customizer/class-wc-intransit-email-customizer.php:265
838
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:265
839
- #: includes/customizer/class-wc-returntosender-email-customizer.php:266
840
  msgid "Show tracking details"
841
  msgstr "Tracking-Details anzeigen"
842
 
843
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:282
844
- #: includes/customizer/class-wc-delivered-email-customizer.php:281
845
- #: includes/customizer/class-wc-failure-email-customizer.php:278
846
- #: includes/customizer/class-wc-intransit-email-customizer.php:281
847
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:281
848
- #: includes/customizer/class-wc-returntosender-email-customizer.php:282
849
  msgid "Show order details"
850
  msgstr ""
851
  "Bestelldetails anzeigen\n"
852
 
853
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:298
854
- #: includes/customizer/class-wc-delivered-email-customizer.php:297
855
- #: includes/customizer/class-wc-failure-email-customizer.php:294
856
- #: includes/customizer/class-wc-intransit-email-customizer.php:297
857
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:297
858
- #: includes/customizer/class-wc-returntosender-email-customizer.php:298
859
  msgid "Show billing address"
860
  msgstr ""
861
  "Rechnungsadresse anzeigen\n"
862
 
863
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:315
864
- #: includes/customizer/class-wc-delivered-email-customizer.php:314
865
- #: includes/customizer/class-wc-failure-email-customizer.php:311
866
- #: includes/customizer/class-wc-intransit-email-customizer.php:314
867
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:314
868
- #: includes/customizer/class-wc-returntosender-email-customizer.php:315
869
  msgid "Show shipping address"
870
  msgstr ""
871
  "Lieferadresse anzeigen\n"
872
 
873
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:331
874
- #: includes/customizer/class-wc-delivered-email-customizer.php:330
875
- #: includes/customizer/class-wc-email-customizer.php:384
876
- #: includes/customizer/class-wc-failure-email-customizer.php:327
877
- #: includes/customizer/class-wc-intransit-email-customizer.php:350
878
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:330
879
- #: includes/customizer/class-wc-returntosender-email-customizer.php:331
880
  msgid "Google Analytics link tracking"
881
  msgstr ""
882
 
883
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:332
884
- #: includes/customizer/class-wc-delivered-email-customizer.php:331
885
- #: includes/customizer/class-wc-failure-email-customizer.php:328
886
- #: includes/customizer/class-wc-intransit-email-customizer.php:351
887
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:331
888
- #: includes/customizer/class-wc-returntosender-email-customizer.php:332
889
  msgid "This will be appended to URL in the email content"
890
  msgstr ""
891
 
892
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:353
893
- #: includes/customizer/class-wc-delivered-email-customizer.php:352
894
- #: includes/customizer/class-wc-email-customizer.php:280
895
- #: includes/customizer/class-wc-failure-email-customizer.php:349
896
- #: includes/customizer/class-wc-intransit-email-customizer.php:331
897
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:352
898
- #: includes/customizer/class-wc-returntosender-email-customizer.php:353
 
899
  msgid "Email content"
900
  msgstr "E-Mail-Inhalt"
901
 
902
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:372
903
- #: includes/customizer/class-wc-delivered-email-customizer.php:372
904
- #: includes/customizer/class-wc-email-customizer.php:405
905
- #: includes/customizer/class-wc-failure-email-customizer.php:369
906
- #: includes/customizer/class-wc-intransit-email-customizer.php:372
907
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:372
908
- #: includes/customizer/class-wc-returntosender-email-customizer.php:373
 
909
  msgid "Available placeholders"
910
  msgstr ""
911
  "Verfügbare Platzhalter\n"
912
 
913
- #: includes/customizer/class-wc-availableforpickup-email-customizer.php:416
914
- #: includes/customizer/class-wc-delivered-email-customizer.php:416
915
- #: includes/customizer/class-wc-email-customizer.php:437
916
- #: includes/customizer/class-wc-failure-email-customizer.php:412
917
- #: includes/customizer/class-wc-intransit-email-customizer.php:415
918
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:415
919
- #: includes/customizer/class-wc-returntosender-email-customizer.php:417
920
- #: includes/customizer/class-wc-tracking-info-customizer.php:730
921
- msgid "Please select preview order."
 
922
  msgstr ""
923
- "Bitte wählen Sie eine Vorschau-Bestellung.\n"
924
 
925
- #: includes/customizer/class-wc-delivered-email-customizer.php:114
926
  msgid "Your order #{order_number} has been delivered"
927
  msgstr ""
928
 
929
- #: includes/customizer/class-wc-delivered-email-customizer.php:116
 
930
  msgid ""
931
  "Hi there. we thought you'd like to know that your recent order from "
932
  "{site_title} has been Delivered."
@@ -934,94 +545,77 @@ msgstr ""
934
  "Hallo. Wir dachten, Sie möchten wissen, dass Ihre letzte Bestellung von "
935
  "{site_title} geliefert wurde.\n"
936
 
937
- #: includes/customizer/class-wc-delivered-email-customizer.php:147
938
  msgid "Delivered shipment status email"
939
  msgstr "Versandstatus E-Mail geliefert"
940
 
941
- #: includes/customizer/class-wc-delivered-email-customizer.php:162
942
  msgid "Enable Delivered shipment status email"
943
  msgstr "Versandstatus-E-Mail aktivieren"
944
 
945
- #: includes/customizer/class-wc-email-customizer.php:122
946
- #: includes/emails/class-shipment-delivered-email.php:92
947
  msgid "Your {site_title} order is now delivered"
948
  msgstr ""
949
  "Ihre {site_title} Bestellung wird jetzt geliefert\n"
950
 
951
- #: includes/customizer/class-wc-email-customizer.php:123
952
- #: includes/emails/class-shipment-delivered-email.php:102
953
- msgid "Thanks for shopping with us"
954
- msgstr ""
955
- "Vielen Dank für Ihren Einkauf bei uns\n"
956
-
957
- #: includes/customizer/class-wc-email-customizer.php:124
958
- msgid "Hi there. Your recent order on {site_title} has been delivered."
959
- msgstr ""
960
- "Hallo. Ihre letzte Bestellung auf {site_title} wurde geliefert.\n"
961
-
962
- #: includes/customizer/class-wc-email-customizer.php:171
963
  msgid "Enable Delivered order status email"
964
  msgstr ""
965
  "Aktivieren Sie die Status-E-Mail für die gelieferte Bestellung\n"
966
 
967
- #: includes/customizer/class-wc-email-customizer.php:193
968
- #: includes/customizer/class-wc-tracking-info-customizer.php:165
 
969
  msgid "Please select a order..."
970
  msgstr ""
971
  "Bitte wählen Sie eine Bestellung aus ...\n"
972
 
973
- #: includes/customizer/class-wc-email-customizer.php:211
974
- msgid "Receipts"
975
- msgstr ""
976
-
977
- #: includes/customizer/class-wc-email-customizer.php:212
978
- msgid ""
979
- "Enter emails use variables such as {customer_email}. Multiple emails can be "
980
- "separated by commas."
981
- msgstr ""
982
-
983
- #: includes/customizer/class-wc-email-customizer.php:235
984
- #: includes/customizer/class-wc-email-customizer.php:258
985
  msgid "Available variables: {site_title}, {order_number}"
986
  msgstr ""
987
 
988
- #: includes/customizer/class-wc-email-customizer.php:281
 
989
  msgid ""
990
  "available variables: {site_title}, {customer_email}, {customer_first_name}, "
991
  "{customer_last_name}, {customer_username}, {order_number}"
992
  msgstr ""
993
 
994
- #: includes/customizer/class-wc-email-customizer.php:300
995
  msgid "Display tracking details"
996
  msgstr ""
997
 
998
- #: includes/customizer/class-wc-email-customizer.php:316
999
  msgid "Display order details"
1000
  msgstr ""
1001
 
1002
- #: includes/customizer/class-wc-email-customizer.php:333
1003
  msgid "Display Shipping Address"
1004
  msgstr ""
1005
 
1006
- #: includes/customizer/class-wc-email-customizer.php:350
1007
  msgid "Display Billing Address"
1008
  msgstr ""
1009
 
1010
- #: includes/customizer/class-wc-email-customizer.php:367
1011
  msgid "Enable Google Analytics tracking"
1012
  msgstr ""
1013
 
1014
- #: includes/customizer/class-wc-email-customizer.php:385
1015
  msgid ""
1016
  "This will be appended to URL in the email content – e.g. "
1017
  "utm_source=ast&utm_medium=email&utm_campaign=delivered"
1018
  msgstr ""
1019
 
1020
- #: includes/customizer/class-wc-failure-email-customizer.php:112
1021
  msgid "Your order #{order_number} is Failed Attempt"
1022
  msgstr "Ihre Bestellung Nr. {Order_number} ist fehlgeschlagen"
1023
 
1024
- #: includes/customizer/class-wc-failure-email-customizer.php:114
1025
  msgid ""
1026
  "Hi there. we thought you'd like to know that your recent order from "
1027
  "{site_title} is Failed Attempt"
@@ -1029,20 +623,20 @@ msgstr ""
1029
  "Hallo. Wir dachten, Sie möchten wissen, dass Ihre letzte Bestellung bei "
1030
  "{site_title} fehlgeschlagen ist"
1031
 
1032
- #: includes/customizer/class-wc-failure-email-customizer.php:144
1033
  msgid "Failed Attempt shipment status email"
1034
  msgstr "Fehler beim Versenden der Sendungsstatus-E-Mail"
1035
 
1036
- #: includes/customizer/class-wc-failure-email-customizer.php:159
1037
  msgid "Enable Failed Attempt shipment status email"
1038
  msgstr "Versandstatus-E-Mail für fehlgeschlagenen Versuch aktivieren"
1039
 
1040
- #: includes/customizer/class-wc-intransit-email-customizer.php:114
1041
  msgid "Your order #{order_number} is in transit"
1042
  msgstr ""
1043
  "Ihre Bestellung Nr. {Order_number} ist in Bearbeitung\n"
1044
 
1045
- #: includes/customizer/class-wc-intransit-email-customizer.php:116
1046
  msgid ""
1047
  "Hi there. we thought you'd like to know that your recent order from "
1048
  "{site_title} is in transit"
@@ -1050,21 +644,21 @@ msgstr ""
1050
  "Hallo. Wir dachten, Sie möchten wissen, dass Ihre letzte Bestellung von "
1051
  "{site_title} unterwegs ist\n"
1052
 
1053
- #: includes/customizer/class-wc-intransit-email-customizer.php:146
1054
  msgid "In Transit shipment status email"
1055
  msgstr "In Transit Sendungsstatus E-Mail"
1056
 
1057
- #: includes/customizer/class-wc-intransit-email-customizer.php:161
1058
  msgid "Enable In Transit shipment status email"
1059
  msgstr ""
1060
  "Sendungsstatus-E-Mail in Transit aktivieren\n"
1061
 
1062
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:114
1063
  msgid "Your order #{order_number} is out for delivery"
1064
  msgstr ""
1065
  "Ihre Bestellung Nr. {Order_number} ist nicht lieferbar\n"
1066
 
1067
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:116
1068
  msgid ""
1069
  "Hi there. we thought you'd like to know that your recent order from "
1070
  "{site_title} is out for delivery."
@@ -1072,20 +666,20 @@ msgstr ""
1072
  "Hallo. Wir dachten, Sie möchten wissen, dass Ihre letzte Bestellung von "
1073
  "{site_title} nicht lieferbar ist.\n"
1074
 
1075
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:147
1076
  msgid "Out For Delivery shipment status email"
1077
  msgstr "Out For Delivery Versandstatus-E-Mail"
1078
 
1079
- #: includes/customizer/class-wc-outfordelivery-email-customizer.php:162
1080
  msgid "Enable Out For Delivery shipment status email"
1081
  msgstr "Sendungsstatus-E-Mail für die Auslieferung aktivieren"
1082
 
1083
- #: includes/customizer/class-wc-returntosender-email-customizer.php:115
1084
  msgid "Your order #{order_number} has returned to sender"
1085
  msgstr ""
1086
  "Ihre Bestellung Nr. {Order_number} wurde an den Absender zurückgeschickt\n"
1087
 
1088
- #: includes/customizer/class-wc-returntosender-email-customizer.php:117
1089
  msgid ""
1090
  "Hi there. we thought you'd like to know that your recent order from "
1091
  "{site_title} has been returned to sender."
@@ -1093,36 +687,35 @@ msgstr ""
1093
  "Hallo. Wir dachten, Sie möchten wissen, dass Ihre letzte Bestellung von "
1094
  "{site_title} an den Absender zurückgeschickt wurde.\n"
1095
 
1096
- #: includes/customizer/class-wc-returntosender-email-customizer.php:148
1097
  msgid "Return To Sender shipment status email"
1098
  msgstr "Sendungsstatus-E-Mail an Absender zurücksenden"
1099
 
1100
- #: includes/customizer/class-wc-returntosender-email-customizer.php:163
1101
  msgid "Enable Return To Sender shipment status email"
1102
  msgstr ""
1103
  "Aktivieren Sie die Sendungsstatus-E-Mail für die Rücksendung an den Absender"
1104
 
1105
- #: includes/customizer/class-wc-tracking-info-customizer.php:134
1106
- #: includes/customizer/class-wc-tracking-info-customizer.php:301
1107
- #: includes/views/html-tracking-info-design-preview.php:45
1108
- #: templates/emails/tracking-info.php:110 templates/myaccount/view-order.php:89
1109
  msgid "Provider"
1110
  msgstr "Anbieter"
1111
 
1112
- #: includes/customizer/class-wc-tracking-info-customizer.php:135
1113
- #: includes/customizer/class-wc-tracking-info-customizer.php:323
1114
- #: includes/views/html-tracking-info-design-preview.php:46
1115
- #: templates/emails/tracking-info.php:134
1116
- #: templates/myaccount/view-order.php:111
1117
  msgid "Tracking Number"
1118
  msgstr "Auftragsnummer, Frachtnummer, Sendungscode"
1119
 
1120
- #: includes/customizer/class-wc-tracking-info-customizer.php:136
1121
- #: includes/customizer/class-wc-tracking-info-customizer.php:344
1122
  msgid "Shipped Date"
1123
  msgstr "Versanddatum"
1124
 
1125
- #: includes/customizer/class-wc-tracking-info-customizer.php:162
1126
  msgid ""
1127
  "select from last 20 orders one order that you added tracking info in order "
1128
  "to preview and design the tracking info table."
@@ -1131,193 +724,157 @@ msgstr ""
1131
  "Tracking-Informationen versehen haben, um die Tracking-Informationstabelle "
1132
  "in der Vorschau anzuzeigen und zu gestalten.\n"
1133
 
1134
- #: includes/customizer/class-wc-tracking-info-customizer.php:182
 
 
 
 
 
 
1135
  msgid "Tracking Display Position"
1136
  msgstr "Verfolgung der Anzeigeposition"
1137
 
1138
- #: includes/customizer/class-wc-tracking-info-customizer.php:186
1139
  msgid "Before Order Details"
1140
  msgstr "Vor der Bestellung Details"
1141
 
1142
- #: includes/customizer/class-wc-tracking-info-customizer.php:187
1143
  msgid "After Order Details"
1144
  msgstr "Nach Auftragsdetails"
1145
 
1146
- #: includes/customizer/class-wc-tracking-info-customizer.php:202
1147
  msgid "Main Header text"
1148
  msgstr "Haupt-Header-Text"
1149
 
1150
- #: includes/customizer/class-wc-tracking-info-customizer.php:209
1151
- #: templates/pip/tracking-info.php:17
1152
  msgid "Tracking Information"
1153
  msgstr "Tracking-Informationen"
1154
 
1155
- #: includes/customizer/class-wc-tracking-info-customizer.php:224
1156
  msgid "Additional text after header"
1157
  msgstr "Zusätzlicher Text nach Kopfzeile"
1158
 
1159
- #: includes/customizer/class-wc-tracking-info-customizer.php:245
1160
- msgid "Table Layout"
1161
- msgstr "Tabellenlayout"
1162
 
1163
- #: includes/customizer/class-wc-tracking-info-customizer.php:260
1164
  msgid "Display Shipment Provider image"
1165
  msgstr "Bild des Versandanbieters anzeigen"
1166
 
1167
- #: includes/customizer/class-wc-tracking-info-customizer.php:277
1168
  msgid "Hide date"
1169
  msgstr "Datum ausblenden"
1170
 
1171
- #: includes/customizer/class-wc-tracking-info-customizer.php:294
 
 
 
 
 
 
 
 
1172
  msgid "Provider Header Text"
1173
  msgstr "Anbieterkopfzeilentext"
1174
 
1175
- #: includes/customizer/class-wc-tracking-info-customizer.php:316
1176
  msgid "Tracking Number Header Text"
1177
  msgstr "Tracking-Nummer-Header-Text"
1178
 
1179
- #: includes/customizer/class-wc-tracking-info-customizer.php:337
1180
  msgid "Shipped Date Header Text"
1181
  msgstr "Versanddatum Header Text"
1182
 
1183
- #: includes/customizer/class-wc-tracking-info-customizer.php:358
1184
  msgid "Track Label"
1185
  msgstr "Track Label"
1186
 
1187
- #: includes/customizer/class-wc-tracking-info-customizer.php:374
1188
  msgid "Track Header Text"
1189
  msgstr "Kopfzeilentext verfolgen"
1190
 
1191
- #: includes/customizer/class-wc-tracking-info-customizer.php:396
 
 
 
 
 
 
 
 
1192
  msgid "Table Design"
1193
  msgstr ""
1194
  "Tisch Design\n"
1195
 
1196
- #: includes/customizer/class-wc-tracking-info-customizer.php:411
1197
  msgid "Padding"
1198
  msgstr "Polsterung"
1199
 
1200
- #: includes/customizer/class-wc-tracking-info-customizer.php:431
1201
  msgid "Background color"
1202
  msgstr ""
1203
  "Hintergrundfarbe\n"
1204
 
1205
- #: includes/customizer/class-wc-tracking-info-customizer.php:459
1206
  msgid "Border color"
1207
  msgstr "Randfarbe"
1208
 
1209
- #: includes/customizer/class-wc-tracking-info-customizer.php:475
1210
  msgid "Border size"
1211
  msgstr ""
1212
  "Rahmengrösse\n"
1213
 
1214
- #: includes/customizer/class-wc-tracking-info-customizer.php:479
1215
- #: includes/customizer/class-wc-tracking-info-customizer.php:503
1216
- #: includes/customizer/class-wc-tracking-info-customizer.php:511
1217
- msgid "Select"
1218
- msgstr "Wählen"
1219
-
1220
- #: includes/customizer/class-wc-tracking-info-customizer.php:499
1221
  msgid "Table text align"
1222
  msgstr "Tabellentext ausrichten"
1223
 
1224
- #: includes/customizer/class-wc-tracking-info-customizer.php:504
1225
- msgid "Left"
1226
- msgstr "Links"
1227
-
1228
- #: includes/customizer/class-wc-tracking-info-customizer.php:505
1229
- msgid "Right"
1230
- msgstr "Recht"
1231
-
1232
- #: includes/customizer/class-wc-tracking-info-customizer.php:506
1233
- msgid "Center"
1234
- msgstr "Center"
1235
-
1236
- #: includes/customizer/class-wc-tracking-info-customizer.php:525
1237
- msgid "Table header font size"
1238
- msgstr "Schriftgröße der Tabellenüberschrift"
1239
-
1240
- #: includes/customizer/class-wc-tracking-info-customizer.php:544
1241
- msgid "Table header font color"
1242
- msgstr "Schriftfarbe der Tabellenüberschrift"
1243
-
1244
- #: includes/customizer/class-wc-tracking-info-customizer.php:560
1245
  msgid "Table content font size"
1246
  msgstr "Schriftgröße des Tabelleninhalts"
1247
 
1248
- #: includes/customizer/class-wc-tracking-info-customizer.php:577
1249
  msgid "Table content font color"
1250
  msgstr "Schriftfarbe des Tabelleninhalts"
1251
 
1252
- #: includes/customizer/class-wc-tracking-info-customizer.php:593
1253
  msgid "Content line height"
1254
  msgstr "Höhe der Inhaltszeile"
1255
 
1256
- #: includes/customizer/class-wc-tracking-info-customizer.php:614
1257
  msgid "Content font weight"
1258
  msgstr ""
1259
  "Schriftgröße des Inhalts\n"
1260
 
1261
- #: includes/customizer/class-wc-tracking-info-customizer.php:636
1262
- msgid "Track Link"
1263
- msgstr "Track Link"
1264
 
1265
- #: includes/customizer/class-wc-tracking-info-customizer.php:650
1266
  msgid "Track Link Font Color"
1267
  msgstr "Track Link-Schriftfarbe"
1268
 
1269
- #: includes/customizer/class-wc-tracking-info-customizer.php:666
1270
  msgid "Track Link Background Color"
1271
  msgstr "Track Link Hintergrundfarbe"
1272
 
1273
- #: includes/customizer/class-wc-tracking-info-customizer.php:681
1274
  msgid "Track link Border"
1275
  msgstr "Track Link Grenze"
1276
 
1277
- #: includes/customizer/class-wc-tracking-page-customizer.php:167
1278
- msgid "Header Color"
1279
- msgstr ""
1280
- "Header-Farbe\n"
1281
-
1282
- #: includes/customizer/class-wc-tracking-page-customizer.php:183
1283
- msgid "Success Status Color"
1284
- msgstr ""
1285
- "Erfolgsstatus Farbe\n"
1286
-
1287
- #: includes/customizer/class-wc-tracking-page-customizer.php:199
1288
- msgid "Warning Status Color"
1289
- msgstr ""
1290
- "Warnstatus Farbe\n"
1291
-
1292
- #: includes/customizer/class-wc-tracking-page-customizer.php:215
1293
- msgid "Tracking info Border Color"
1294
- msgstr ""
1295
- "Tracking-Informationen Rahmenfarbe\n"
1296
-
1297
- #: includes/customizer/class-wc-tracking-page-customizer.php:230
1298
- msgid "Tracking info width (px)"
1299
- msgstr ""
1300
- "Tracking-Info-Breite (px)\n"
1301
-
1302
- #: includes/customizer/class-wc-tracking-page-customizer.php:250
1303
- msgid "Tracking details Border Color"
1304
  msgstr ""
1305
- "Tracking-Details Rahmenfarbe\n"
1306
 
1307
- #: includes/customizer/class-wc-tracking-page-customizer.php:265
1308
- msgid "Tracking info table shade color"
1309
- msgstr ""
1310
- "Schattenfarbe der Tracking-Infotabelle\n"
1311
-
1312
- #: includes/customizer/class-wc-tracking-page-customizer.php:280
1313
- msgid "Tracking events font color"
1314
  msgstr ""
1315
- "Schriftfarbe für Tracking-Ereignisse\n"
1316
 
1317
- #: includes/customizer/class-wc-tracking-page-customizer.php:295
1318
- msgid "Tracking info table margin top/bottom(px)"
1319
  msgstr ""
1320
- "Tracking-Info-Tabelle Rand oben / unten (px)\n"
1321
 
1322
  #: includes/emails/class-shipment-delivered-email.php:32
1323
  msgid "Delivered order"
@@ -1329,52 +886,19 @@ msgid ""
1329
  "delivered and usually indicate that their orders have been shipped."
1330
  msgstr ""
1331
 
1332
- #: includes/emails/class-shipment-delivered-email.php:228
1333
- msgid "Enable this email notification"
1334
  msgstr ""
1335
 
1336
- #: includes/emails/class-shipment-delivered-email.php:232
1337
- msgid "Recipient(s)"
1338
- msgstr ""
1339
-
1340
- #. %s: WP admin email
1341
- #: includes/emails/class-shipment-delivered-email.php:235
1342
- #, php-format
1343
- msgid "Enter recipients (comma separated) for this email. Defaults to %s."
1344
- msgstr ""
1345
-
1346
- #: includes/emails/class-shipment-delivered-email.php:241
1347
- msgid "Subject"
1348
- msgstr ""
1349
-
1350
- #. %s: list of placeholders
1351
- #: includes/emails/class-shipment-delivered-email.php:245
1352
- #: includes/emails/class-shipment-delivered-email.php:254
1353
- #, php-format
1354
- msgid "Available placeholders: %s"
1355
- msgstr ""
1356
-
1357
- #: includes/emails/class-shipment-delivered-email.php:259
1358
- msgid "Email type"
1359
- msgstr ""
1360
-
1361
- #: includes/emails/class-shipment-delivered-email.php:261
1362
- msgid "Choose which format of email to send."
1363
- msgstr ""
1364
-
1365
- #: includes/emails/class-shipment-delivered-email.php:269
1366
- msgid "\" >Click Here</a>"
1367
- msgstr ""
1368
-
1369
- #: includes/emails/class-shipment-delivered-email.php:270
1370
  msgid "Edit in customizer"
1371
  msgstr ""
1372
 
1373
- #: includes/views/admin_options_bulk_upload.php:5
1374
  msgid "Upload CSV"
1375
  msgstr "CSV hochladen"
1376
 
1377
- #: includes/views/admin_options_bulk_upload.php:15
1378
  msgid ""
1379
  "Replace tracking info if exists? (if not checked, the tracking info will be "
1380
  "added)"
@@ -1382,134 +906,169 @@ msgstr ""
1382
  "Tracking-Info ersetzen, falls vorhanden? (wenn nicht markiert, werden die "
1383
  "Tracking-Informationen hinzugefügt)"
1384
 
1385
- #: includes/views/admin_options_bulk_upload.php:25
1386
- #: includes/views/admin_options_shipping_provider.php:112
1387
- #: includes/views/admin_options_shipping_provider.php:146
1388
  msgid "Upload"
1389
  msgstr "Hochladen"
1390
 
1391
- #: includes/views/admin_options_bulk_upload.php:28
1392
- #: includes/views/admin_options_trackship_integration.php:27
1393
- #: includes/views/admin_options_trackship_integration.php:45
1394
  msgid "Settings Saved."
1395
  msgstr "Einstellungen gespeichert."
1396
 
1397
- #: includes/views/admin_options_bulk_upload.php:34
 
 
 
 
 
 
 
 
1398
  msgid "You can download an example of the csv file:"
1399
  msgstr "Sie können ein Beispiel für die CSV-Datei herunterladen:"
1400
 
1401
- #: includes/views/admin_options_bulk_upload.php:35
1402
  msgid "Download sample csv file"
1403
  msgstr "Laden Sie die Beispiel-CSV-Datei herunter"
1404
 
1405
- #: includes/views/admin_options_bulk_upload.php:36
1406
  msgid ""
1407
  "For detailed instructions on how to upload tracking info in bulk, see our"
1408
  msgstr ""
1409
  "For detailed instructions on how to upload tracking info in bulk, see our"
1410
 
1411
- #: includes/views/admin_options_bulk_upload.php:36
1412
- msgid "documentation"
1413
- msgstr "Dokumentation"
 
 
 
 
 
 
 
 
1414
 
1415
- #: includes/views/admin_options_bulk_upload.php:38
1416
- msgid "Upload Progress - "
1417
- msgstr "Upload-Fortschritt -"
1418
 
1419
- #: includes/views/admin_options_settings.php:7
1420
- #: includes/views/admin_options_trackship_integration.php:10
1421
- msgid "General"
1422
  msgstr ""
1423
- "Allgemeines\n"
1424
 
1425
- #: includes/views/admin_options_settings.php:10
1426
- #: includes/views/admin_options_settings.php:19
1427
  msgid "Delivered Order Status"
1428
  msgstr "Status der gelieferten Bestellung"
1429
 
1430
- #: includes/views/admin_options_settings.php:12
1431
- msgid "Tracking Info Display Designer"
1432
  msgstr ""
1433
- "Tracking Info Display Designer\n"
1434
 
1435
- #: includes/views/admin_options_settings.php:15
1436
- #: includes/views/admin_options_trackship_integration.php:19
1437
- msgid "General Settings"
1438
- msgstr "Allgemeine Einstellungen"
 
 
 
 
 
 
1439
 
1440
- #: includes/views/admin_options_settings.php:24
1441
- #: includes/views/admin_options_trackship_integration.php:25
1442
- #: includes/views/admin_options_trackship_integration.php:43
1443
- msgid "Save"
1444
- msgstr "sparen"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1445
 
1446
- #: includes/views/admin_options_shipping_provider.php:94
 
 
 
 
 
 
 
 
 
1447
  msgid "Add Custom Shipping Provider"
1448
  msgstr "Fügen Sie einen benutzerdefinierten Versandanbieter hinzu"
1449
 
1450
- #: includes/views/admin_options_shipping_provider.php:101
1451
- #: includes/views/admin_options_shipping_provider.php:135
1452
- msgid "Shiping Country"
1453
- msgstr "Lieferungsland"
1454
 
1455
- #: includes/views/admin_options_shipping_provider.php:102
1456
- #: includes/views/admin_options_shipping_provider.php:136
1457
  msgid "Global"
1458
  msgstr ""
1459
 
1460
- #: includes/views/admin_options_shipping_provider.php:128
1461
  msgid "Edit Custom Shipping Provider"
1462
  msgstr "Benutzerdefinierten Versandanbieter bearbeiten"
1463
 
1464
- #: includes/views/admin_options_shipping_provider.php:163
1465
- #: includes/views/admin_options_shipping_provider.php:170
1466
- msgid "Sync Providers"
1467
- msgstr "Anbieter synchronisieren"
1468
-
1469
- #: includes/views/admin_options_shipping_provider.php:164
1470
- msgid "Do you really want to sync all providers?"
1471
- msgstr "Möchten Sie wirklich alle Anbieter synchronisieren?"
1472
 
1473
- #: includes/views/admin_options_shipping_provider.php:166
1474
  msgid "Providers Added"
1475
  msgstr "Anbieter hinzugefügt"
1476
 
1477
- #: includes/views/admin_options_shipping_provider.php:167
1478
  msgid "Providers Updated"
1479
  msgstr "Anbieter aktualisiert"
1480
 
1481
- #: includes/views/admin_options_shipping_provider.php:168
1482
  msgid "Providers Deleted"
1483
  msgstr "Anbieter gelöscht"
1484
 
1485
- #: includes/views/admin_options_shipping_provider.php:171
1486
- msgid "Close"
1487
- msgstr "Schließen"
1488
-
1489
- #: includes/views/admin_options_trackship_integration.php:13
1490
- #: includes/views/admin_options_trackship_integration.php:35
1491
  msgid "Tracking Page"
1492
  msgstr "Tracking-Seite"
1493
 
1494
- #: includes/views/admin_options_trackship_integration.php:16
1495
- msgid "Shipment Status Notifications"
1496
- msgstr "Benachrichtigungen zum Sendungsstatus"
1497
-
1498
- #: includes/views/admin_options_trackship_integration.php:40
1499
  msgid "Click to preview the tracking page"
1500
  msgstr "Klicken Sie hier, um eine Vorschau der Tracking-Seite anzuzeigen"
1501
 
1502
- #: includes/views/admin_options_trackship_integration.php:41
1503
  msgid "PLEASE NOTE - make sure to save your settings before preview."
1504
  msgstr ""
1505
  "BITTE BEACHTEN SIE - Stellen Sie sicher, dass Sie Ihre Einstellungen vor der "
1506
  "Vorschau speichern."
1507
 
1508
- #: includes/views/admin_options_trackship_integration.php:53
1509
  msgid "Shipment Status Notifications "
1510
  msgstr "Benachrichtigungen zum Sendungsstatus"
1511
 
1512
- #: includes/views/admin_options_trackship_integration.php:81
1513
  msgid ""
1514
  "Carrier has accepted or picked up shipment from shipper. The shipment is on "
1515
  "the way."
@@ -1517,23 +1076,23 @@ msgstr ""
1517
  "Der Spediteur hat die Sendung vom Versender angenommen oder abgeholt. Die "
1518
  "Sendung ist unterwegs."
1519
 
1520
- #: includes/views/admin_options_trackship_integration.php:95
1521
  msgid "Shipment is returned to sender"
1522
  msgstr "Die Sendung wird an den Absender zurückgeschickt"
1523
 
1524
- #: includes/views/admin_options_trackship_integration.php:109
1525
  msgid "The shipment is ready to pickup."
1526
  msgstr "Die Sendung ist zur Abholung bereit."
1527
 
1528
- #: includes/views/admin_options_trackship_integration.php:122
1529
  msgid "Carrier is about to deliver the shipment"
1530
  msgstr "Der Spediteur ist im Begriff, die Sendung zu liefern"
1531
 
1532
- #: includes/views/admin_options_trackship_integration.php:136
1533
  msgid "The shipment was delivered successfully"
1534
  msgstr "Die Sendung wurde erfolgreich zugestellt"
1535
 
1536
- #: includes/views/admin_options_trackship_integration.php:137
1537
  msgid ""
1538
  "You already have delivered email enabled, to enable this email you'll need "
1539
  "to disable the order status delivered in settings."
@@ -1542,7 +1101,7 @@ msgstr ""
1542
  "aktivieren, müssen Sie den in den Einstellungen angegebenen Bestellstatus "
1543
  "deaktivieren."
1544
 
1545
- #: includes/views/admin_options_trackship_integration.php:151
1546
  msgid ""
1547
  "Carrier attempted to deliver but failed, and usually leaves a notice and "
1548
  "will try to deliver the package again."
@@ -1551,44 +1110,35 @@ msgstr ""
1551
  "Normalerweise hinterlässt er eine Nachricht und versucht, das Paket erneut "
1552
  "zuzustellen."
1553
 
1554
- #: includes/views/html-tracking-info-design-preview.php:60
1555
- msgid "USPS"
1556
- msgstr "USPS"
1557
-
1558
- #: includes/views/zorem_admin_sidebar.php:8
1559
- msgid "Leave your review"
1560
- msgstr ""
1561
-
1562
- #: includes/views/zorem_admin_ts_sidebar.php:5
1563
- msgid "Dashboard"
1564
- msgstr ""
1565
-
1566
- #: includes/views/zorem_admin_ts_sidebar.php:7
1567
- msgid "Documentation"
1568
  msgstr ""
1569
 
1570
- #: templates/emails/tracking-info.php:138
1571
- msgid "Status"
1572
- msgstr "Status"
1573
-
1574
- #: templates/emails/wcast-email-order-details.php:26
1575
- msgid "Order Details"
1576
  msgstr ""
1577
- "Bestelldetails\n"
1578
 
1579
  #. %s: Order ID.
1580
- #: templates/emails/wcast-email-order-details.php:42
1581
  #, php-format
1582
  msgid "Order number: %s"
1583
  msgstr ""
1584
  "Bestellnummer:% s\n"
1585
 
1586
- #: templates/emails/wcast-email-order-details.php:49
1587
- msgid "Order date:"
 
 
 
 
 
 
 
 
1588
  msgstr ""
1589
- "Auftragsdatum:\n"
1590
 
1591
- #: templates/emails/plain/tracking-info.php:18
1592
- msgid "TRACKING INFORMATION"
1593
  msgstr ""
1594
- "VERFOLGUNGSINFORMATIONEN\n"
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce Advanced Shipment Tracking\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2019-10-25 08:22+0000\n"
6
+ "PO-Revision-Date: 2019-10-25 08:23+0000\n"
7
  "Last-Translator: gaurav <gaurav1092@zorem.com>\n"
8
  "Language-Team: German\n"
9
  "Language: de_DE\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
  "X-Generator: Loco https://localise.biz/\n"
15
+ "X-Loco-Version: 2.3.1; wp-5.2.4"
16
 
17
+ #: woocommerce-advanced-shipment-tracking.php:114
18
  #, php-format
19
  msgid ""
20
  "Please install and activate %sWooCommerce%s for WooCommerce Advanced "
23
  "Bitte installieren und aktivieren Sie% sWooCommerce% s für WooCommerce "
24
  "Advanced Shipment Tracking!\n"
25
 
26
+ #: woocommerce-advanced-shipment-tracking.php:223
27
+ #, php-format
28
+ msgid "Your order was shipped with %s and your tracking code is: %s"
29
+ msgstr ""
30
+
31
+ #: woocommerce-advanced-shipment-tracking.php:430
32
+ #: includes/views/admin_options_settings.php:68
33
  #, php-format
34
  msgid ""
35
  "<strong>PLEASE NOTE</strong> - If you use the custom order status "
40
  "\"completed\" before deactivating the plugin."
41
  msgstr ""
42
 
43
+ #: includes/class-wc-advanced-shipment-tracking-front.php:150
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  msgid ""
45
  "To track your order please enter your Order ID in the box below and press "
46
  "the \"Track\" button. This was given to you on your receipt and in the "
51
  "auf Ihrer Quittung und in der Bestätigungs-E-Mail, die Sie hätten erhalten "
52
  "sollen, mitgeteilt.\n"
53
 
54
+ #: includes/class-wc-advanced-shipment-tracking-front.php:151
55
+ #: includes/class-wc-advanced-shipment-tracking-front.php:152
 
 
 
 
56
  msgid "Found in your order confirmation email."
57
  msgstr ""
58
  "Gefunden in Ihrer Auftragsbestätigungs-E-Mail.\n"
59
 
60
+ #: includes/class-wc-advanced-shipment-tracking-front.php:152
61
  msgid "Order Email"
62
  msgstr ""
63
  "E-Mail bestellen\n"
64
 
65
+ #: includes/class-wc-advanced-shipment-tracking-front.php:155
66
  #: includes/class-wc-advanced-shipment-tracking.php:260
67
+ #: includes/class-wc-advanced-shipment-tracking.php:656
68
+ #: includes/class-wc-advanced-shipment-tracking.php:780
69
+ #: includes/customizer/class-wc-tracking-info-customizer.php:147
70
+ #: includes/customizer/class-wc-tracking-info-customizer.php:444
71
+ #: templates/emails/tracking-info.php:174
72
+ #: templates/myaccount/tracking-info.php:125
 
73
  msgid "Track"
74
  msgstr "Track"
75
 
76
+ #: includes/class-wc-advanced-shipment-tracking-front.php:233
77
+ #: includes/class-wc-advanced-shipment-tracking-front.php:510
78
  #, php-format
79
  msgid "Shipment - %s (out of %s)"
80
  msgstr ""
81
  "Versand -% s (von% s)\n"
82
 
83
+ #: includes/class-wc-advanced-shipment-tracking-front.php:246
84
+ #: includes/class-wc-advanced-shipment-tracking-front.php:250
85
+ #: includes/class-wc-advanced-shipment-tracking-front.php:523
86
+ #: includes/class-wc-advanced-shipment-tracking-front.php:527
 
 
 
 
 
87
  msgid "Estimated Delivery Date: "
88
  msgstr "Voraussichtlicher Liefertermin:"
89
 
90
+ #: includes/class-wc-advanced-shipment-tracking-front.php:359
91
+ #: includes/class-wc-advanced-shipment-tracking-front.php:636
92
+ #: includes/class-wc-advanced-shipment-tracking-front.php:812
93
  msgid "Tracking Details"
94
  msgstr "Verfolgungsdetails"
95
 
96
+ #: includes/class-wc-advanced-shipment-tracking-front.php:378
97
+ #: includes/class-wc-advanced-shipment-tracking-front.php:655
98
+ #: includes/class-wc-advanced-shipment-tracking-front.php:833
99
  msgid "view more"
100
  msgstr "mehr sehen"
101
 
102
+ #: includes/class-wc-advanced-shipment-tracking-front.php:379
103
+ #: includes/class-wc-advanced-shipment-tracking-front.php:656
104
+ #: includes/class-wc-advanced-shipment-tracking-front.php:834
105
  msgid "view less"
106
  msgstr "weniger anzeigen"
107
 
108
+ #: includes/class-wc-advanced-shipment-tracking-front.php:387
109
+ #: includes/class-wc-advanced-shipment-tracking-front.php:664
110
+ msgid "Tracking details not found in TrackShip"
 
 
 
111
  msgstr ""
 
 
112
 
113
+ #: includes/class-wc-advanced-shipment-tracking-front.php:747
114
+ msgid "Estimated Delivery Date"
115
+ msgstr ""
116
+
117
+ #: includes/class-wc-advanced-shipment-tracking.php:95
118
  #: includes/class-wc-advanced-shipment-tracking.php:244
119
+ #: includes/customizer/class-wcast-customizer.php:31
120
  msgid "Shipment Tracking"
121
  msgstr "Sendungsverfolgung"
122
 
123
+ #: includes/class-wc-advanced-shipment-tracking.php:184
 
 
 
 
 
124
  #: includes/class-wc-advanced-shipment-tracking.php:353
125
+ msgid "Mark as Shipped?"
126
  msgstr ""
127
 
128
  #: includes/class-wc-advanced-shipment-tracking.php:186
129
+ #: includes/class-wc-advanced-shipment-tracking.php:355
130
+ msgid "Mark as Completed?"
131
  msgstr ""
132
 
133
  #: includes/class-wc-advanced-shipment-tracking.php:191
134
+ msgid "Add Tracking Number"
135
+ msgstr ""
136
+
137
+ #: includes/class-wc-advanced-shipment-tracking.php:196
138
+ #: includes/class-wc-advanced-shipment-tracking.php:371
139
  msgid "Provider:"
140
  msgstr "Anbieter:"
141
 
142
+ #: includes/class-wc-advanced-shipment-tracking.php:216
143
+ #: includes/class-wc-advanced-shipment-tracking.php:409
144
  msgid "Tracking number:"
145
  msgstr "Auftragsnummer, Frachtnummer, Sendungscode:"
146
 
147
+ #: includes/class-wc-advanced-shipment-tracking.php:220
148
+ #: includes/class-wc-advanced-shipment-tracking.php:417
149
  msgid "Date shipped:"
150
  msgstr "Lieferdatum:"
151
 
152
+ #: includes/class-wc-advanced-shipment-tracking.php:221
153
+ #: includes/class-wc-advanced-shipment-tracking.php:418
154
+ #: includes/class-wc-advanced-shipment-tracking.php:421
155
+ msgid "Y-m-d"
156
+ msgstr ""
157
+
158
  #: includes/class-wc-advanced-shipment-tracking.php:260
159
+ #: includes/class-wc-advanced-shipment-tracking.php:433
160
  msgid "Click here to track your shipment"
161
  msgstr "Klicken Sie hier, um Ihre Sendung zu verfolgen"
162
 
163
  #. 1: shipping date
164
  #: includes/class-wc-advanced-shipment-tracking.php:268
 
165
  #, php-format
166
  msgid "Shipped on %s"
167
  msgstr "Versand auf% s"
168
 
169
+ #: includes/class-wc-advanced-shipment-tracking.php:367
 
 
 
 
170
  msgid "Add Tracking Info"
171
  msgstr "Tracking-Info hinzufügen"
172
 
173
+ #: includes/class-wc-advanced-shipment-tracking.php:372
174
  msgid "Select Provider"
175
  msgstr "Wählen Sie Provider aus"
176
 
177
+ #: includes/class-wc-advanced-shipment-tracking.php:432
178
  msgid "Save Tracking"
179
  msgstr "Tracking speichern"
180
 
181
+ #: includes/class-wc-advanced-shipment-tracking.php:433
182
  msgid "Preview:"
183
  msgstr "Vorschau:"
184
 
185
+ #: includes/class-wc-advanced-shipment-tracking.php:630
186
+ #, php-format
187
+ msgid ""
188
+ "Tracking info was deleted for tracking provider %s with tracking number %s"
189
+ msgstr ""
190
 
191
+ #: includes/class-wc-advanced-shipment-tracking.php:986
192
+ #, php-format
193
+ msgid "Order was shipped with %s and tracking number is: %s"
194
+ msgstr ""
195
+
196
+ #: includes/class-wc-advanced-shipment-welcome.php:38
197
+ #: includes/class-wc-advanced-shipment-welcome.php:39
198
+ msgid "Welcome to Advanced Shipment Tracking"
199
+ msgstr ""
200
+
201
+ #: includes/class-wc-advanced-shipment-welcome.php:90
202
+ #: includes/class-wc-advanced-shipment-welcome.php:129
203
+ #: includes/class-wc-advanced-shipment-welcome.php:147
204
+ msgid "Save and Continue"
205
+ msgstr ""
206
+
207
+ #: includes/class-wc-advanced-shipment-welcome.php:177
208
+ #: includes/views/admin_options_trackship_integration.php:26
209
+ msgid "Connection status"
210
+ msgstr ""
211
+
212
+ #: includes/class-wc-advanced-shipment-welcome.php:184
213
+ #: includes/views/admin_options_trackship_integration.php:33
214
+ msgid "TrackShip Connection Status"
215
+ msgstr "TrackShip-Verbindungsstatus"
216
+
217
+ #: includes/class-wc-advanced-shipment-welcome.php:188
218
+ #: includes/views/admin_options_trackship_integration.php:37
219
+ msgid "Connected"
220
+ msgstr ""
221
+ "In Verbindung gebracht\n"
222
+
223
+ #: includes/class-wc-advanced-shipment-welcome.php:194
224
+ #: includes/views/admin_options_trackship_integration.php:43
225
+ msgid "Trackers Balance"
226
+ msgstr ""
227
+
228
+ #: includes/class-wc-advanced-shipment-welcome.php:202
229
+ #: includes/views/admin_options_trackship_integration.php:51
230
+ msgid "Current Plan"
231
+ msgstr ""
232
+
233
+ #: includes/class-wc-advanced-shipment-welcome.php:217
234
+ #: includes/views/admin_options_trackship_integration.php:66
235
+ msgid ""
236
+ "You are now connected with TrackShip! TrackShip makes it effortless to "
237
+ "automate your post shipping operations and get tracking and delivery status "
238
+ "updates directly in the WooCommerce admin."
239
+ msgstr ""
240
+
241
+ #: includes/class-wc-advanced-shipment-welcome.php:222
242
+ #: includes/views/admin_options_bulk_upload.php:58
243
+ #: includes/views/admin_options_trackship_integration.php:71
244
+ #: includes/views/zorem_admin_ts_sidebar.php:12
245
+ msgid "Documentation"
246
+ msgstr ""
247
+
248
+ #: includes/class-wc-advanced-shipment-welcome.php:223
249
+ #: includes/views/admin_options_trackship_integration.php:72
250
+ msgid "TrackShip Dashboard"
251
+ msgstr ""
252
+
253
+ #: includes/class-wc-advanced-shipment-welcome.php:253
254
+ msgid "Save"
255
+ msgstr ""
256
+
257
+ #: includes/class-wc-advanced-shipment-welcome.php:310
258
+ msgid ""
259
+ "Get Shipment Status is limited to 100 orders at a time, please select up to "
260
+ "100 orders."
261
+ msgstr ""
262
+
263
+ #: includes/class-wc-advanced-shipment-welcome.php:343
264
+ msgid "Data saved successfully."
265
+ msgstr "Daten erfolgreich gespeichert."
266
+
267
+ #: includes/class-wc-advanced-shipment-welcome.php:344
268
+ msgid "Really delete this entry? This will not be undo."
269
+ msgstr "Diesen Eintrag wirklich löschen? Dies wird nicht rückgängig gemacht."
270
+
271
+ #: includes/class-wc-advanced-shipment-welcome.php:345
272
+ msgid "You can upload only csv file."
273
+ msgstr "Sie können nur eine CSV-Datei hochladen."
274
+
275
+ #: includes/class-wc-advanced-shipment-welcome.php:346
276
+ msgid "This browser does not support HTML5."
277
+ msgstr "Dieser Browser unterstützt kein HTML5."
278
+
279
+ #: includes/class-wc-advanced-shipment-welcome.php:347
280
+ msgid "Please upload a valid CSV file."
281
+ msgstr "Laden Sie eine gültige CSV-Datei hoch."
282
+
283
+ #: includes/customizer/class-wcast-customizer.php:40
284
  msgid "Shipment Status Emails"
285
  msgstr "Sendungsstatus-E-Mails"
286
 
287
+ #: includes/customizer/class-wcast-customizer.php:52
288
  msgid "Tracking info display"
289
  msgstr ""
290
  "Tracking-Info-Anzeige\n"
291
 
292
+ #: includes/customizer/class-wcast-customizer.php:60
293
+ #: includes/customizer/class-wc-email-customizer.php:163
294
+ msgid "Delivered order status email"
295
+ msgstr ""
296
+ "Bestellstatus per E-Mail zugestellt\n"
297
+
298
+ #: includes/customizer/class-wcast-customizer.php:68
299
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:143
300
+ msgid "Partial Shipped order status email"
301
+ msgstr ""
302
+
303
+ #: includes/customizer/class-wcast-customizer.php:76
304
+ msgid "Pre Transit"
305
+ msgstr ""
306
+ "Pre Transit\n"
307
+
308
+ #: includes/customizer/class-wcast-customizer.php:84
309
+ #: includes/customizer/class-wc-intransit-email-customizer.php:127
310
+ #: includes/views/admin_options_trackship_integration.php:161
311
+ msgid "In Transit"
312
+ msgstr ""
313
+ "Im Transit\n"
314
+
315
+ #: includes/customizer/class-wcast-customizer.php:92
316
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:124
317
+ #: includes/views/admin_options_trackship_integration.php:175
318
+ msgid "Return To Sender"
319
+ msgstr ""
320
+ "Zurück an den Absender\n"
321
+
322
+ #: includes/customizer/class-wcast-customizer.php:99
323
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:124
324
+ #: includes/views/admin_options_trackship_integration.php:189
325
+ msgid "Available For Pickup"
326
  msgstr ""
327
+ "Zur Abholung bereit\n"
 
328
 
329
+ #: includes/customizer/class-wcast-customizer.php:106
330
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:126
331
+ #: includes/views/admin_options_trackship_integration.php:202
332
  msgid "Out For Delivery"
333
  msgstr ""
334
  "Raus zur Lieferung\n"
335
 
336
+ #: includes/customizer/class-wcast-customizer.php:114
337
+ #: includes/customizer/class-wc-delivered-email-customizer.php:125
338
+ #: includes/views/admin_options_trackship_integration.php:216
339
+ msgid "Delivered"
340
+ msgstr "Geliefert"
341
+
342
+ #: includes/customizer/class-wcast-customizer.php:122
343
+ #: includes/customizer/class-wc-failure-email-customizer.php:124
344
+ #: includes/views/admin_options_trackship_integration.php:231
345
+ msgid "Failed Attempt"
346
+ msgstr "Misslungener Versuch"
347
+
348
+ #: includes/customizer/class-wcast-customizer.php:390
349
  msgid "Select order to preview"
350
  msgstr "Wählen Sie die Bestellung aus, um eine Vorschau anzuzeigen"
351
 
352
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:123
353
  msgid "Your order #{order_number} is available for pickup"
354
  msgstr "Ihre Bestellnummer {order_number} steht zur Abholung bereit"
355
 
356
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:125
357
  msgid ""
358
  "Hi there. we thought you'd like to know that your recent order from "
359
  "{site_title} is available for pickup."
361
  "Hallo. Wir dachten, Sie möchten wissen, dass Ihre letzte Bestellung von "
362
  "{site_title} zur Abholung verfügbar ist."
363
 
364
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:156
365
  msgid "Available For Pickup shipment status email"
366
  msgstr "Verfügbar für Abholung Versandstatus E-Mail"
367
 
368
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:157
369
+ #: includes/customizer/class-wc-delivered-email-customizer.php:158
370
+ #: includes/customizer/class-wc-email-customizer.php:164
371
+ #: includes/customizer/class-wc-failure-email-customizer.php:157
372
+ #: includes/customizer/class-wc-intransit-email-customizer.php:160
373
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:159
374
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:157
375
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:144
376
  msgid "This section lets you customize the Email Content."
377
  msgstr "In diesem Abschnitt können Sie den E-Mail-Inhalt anpassen."
378
 
379
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:171
380
  msgid "Enable Available For Pickup shipment status email"
381
  msgstr "Versandstatus-E-Mail für Abholung aktivieren"
382
 
383
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:187
384
+ #: includes/customizer/class-wc-delivered-email-customizer.php:188
385
+ #: includes/customizer/class-wc-email-customizer.php:197
386
+ #: includes/customizer/class-wc-failure-email-customizer.php:187
387
+ #: includes/customizer/class-wc-intransit-email-customizer.php:191
388
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:189
389
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:187
390
+ #: includes/customizer/class-wc-tracking-info-customizer.php:178
391
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:177
392
  msgid "Preview order"
393
  msgstr "Vorschau der Bestellung"
394
 
395
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:215
396
+ #: includes/customizer/class-wc-delivered-email-customizer.php:216
397
+ #: includes/customizer/class-wc-email-customizer.php:226
398
+ #: includes/customizer/class-wc-failure-email-customizer.php:215
399
+ #: includes/customizer/class-wc-intransit-email-customizer.php:219
400
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:217
401
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:215
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
402
  msgid "E.g. {customer.email}, admin@example.org"
403
  msgstr "Z.B. {customer.email}, admin@example.org"
404
 
405
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:231
406
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:253
407
+ #: includes/customizer/class-wc-delivered-email-customizer.php:232
408
+ #: includes/customizer/class-wc-delivered-email-customizer.php:254
409
+ #: includes/customizer/class-wc-failure-email-customizer.php:231
410
+ #: includes/customizer/class-wc-failure-email-customizer.php:253
411
+ #: includes/customizer/class-wc-intransit-email-customizer.php:235
412
+ #: includes/customizer/class-wc-intransit-email-customizer.php:257
413
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:233
414
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:255
415
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:231
416
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:253
 
 
 
 
 
 
 
 
 
 
417
  msgid "Available placeholders: {site_title}, {order_number}"
418
  msgstr "Verfügbare Platzhalter: {site_title}, {order_number}"
419
 
420
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:237
421
+ #: includes/customizer/class-wc-delivered-email-customizer.php:238
422
+ #: includes/customizer/class-wc-email-customizer.php:249
423
+ #: includes/customizer/class-wc-failure-email-customizer.php:237
424
+ #: includes/customizer/class-wc-intransit-email-customizer.php:241
425
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:239
426
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:237
427
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:206
428
  msgid "Please enter email subject here"
429
  msgstr "Bitte geben Sie hier den E-Mail-Betreff ein"
430
 
431
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:259
432
+ #: includes/customizer/class-wc-delivered-email-customizer.php:260
433
+ #: includes/customizer/class-wc-email-customizer.php:272
434
+ #: includes/customizer/class-wc-failure-email-customizer.php:259
435
+ #: includes/customizer/class-wc-intransit-email-customizer.php:263
436
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:261
437
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:259
438
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:229
 
 
 
 
 
 
 
 
 
 
439
  msgid "Please enter email heading here"
440
  msgstr "Bitte geben Sie hier die E-Mail-Überschrift ein"
441
 
442
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:274
443
+ #: includes/customizer/class-wc-delivered-email-customizer.php:275
444
+ #: includes/customizer/class-wc-failure-email-customizer.php:274
445
+ #: includes/customizer/class-wc-intransit-email-customizer.php:278
446
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:276
447
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:274
448
  msgid "Show tracking details"
449
  msgstr "Tracking-Details anzeigen"
450
 
451
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:290
452
+ #: includes/customizer/class-wc-delivered-email-customizer.php:291
453
+ #: includes/customizer/class-wc-failure-email-customizer.php:290
454
+ #: includes/customizer/class-wc-intransit-email-customizer.php:294
455
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:292
456
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:290
457
  msgid "Show order details"
458
  msgstr ""
459
  "Bestelldetails anzeigen\n"
460
 
461
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:306
462
+ #: includes/customizer/class-wc-delivered-email-customizer.php:307
463
+ #: includes/customizer/class-wc-failure-email-customizer.php:306
464
+ #: includes/customizer/class-wc-intransit-email-customizer.php:310
465
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:308
466
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:306
467
  msgid "Show billing address"
468
  msgstr ""
469
  "Rechnungsadresse anzeigen\n"
470
 
471
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:323
472
+ #: includes/customizer/class-wc-delivered-email-customizer.php:324
473
+ #: includes/customizer/class-wc-failure-email-customizer.php:323
474
+ #: includes/customizer/class-wc-intransit-email-customizer.php:327
475
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:325
476
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:323
477
  msgid "Show shipping address"
478
  msgstr ""
479
  "Lieferadresse anzeigen\n"
480
 
481
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:339
482
+ #: includes/customizer/class-wc-delivered-email-customizer.php:340
483
+ #: includes/customizer/class-wc-email-customizer.php:392
484
+ #: includes/customizer/class-wc-failure-email-customizer.php:339
485
+ #: includes/customizer/class-wc-intransit-email-customizer.php:363
486
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:341
487
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:339
488
  msgid "Google Analytics link tracking"
489
  msgstr ""
490
 
491
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:340
492
+ #: includes/customizer/class-wc-delivered-email-customizer.php:341
493
+ #: includes/customizer/class-wc-failure-email-customizer.php:340
494
+ #: includes/customizer/class-wc-intransit-email-customizer.php:364
495
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:342
496
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:340
497
  msgid "This will be appended to URL in the email content"
498
  msgstr ""
499
 
500
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:361
501
+ #: includes/customizer/class-wc-delivered-email-customizer.php:362
502
+ #: includes/customizer/class-wc-email-customizer.php:288
503
+ #: includes/customizer/class-wc-failure-email-customizer.php:361
504
+ #: includes/customizer/class-wc-intransit-email-customizer.php:344
505
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:363
506
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:361
507
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:245
508
  msgid "Email content"
509
  msgstr "E-Mail-Inhalt"
510
 
511
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:380
512
+ #: includes/customizer/class-wc-delivered-email-customizer.php:382
513
+ #: includes/customizer/class-wc-email-customizer.php:413
514
+ #: includes/customizer/class-wc-failure-email-customizer.php:381
515
+ #: includes/customizer/class-wc-intransit-email-customizer.php:385
516
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:383
517
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:381
518
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:264
519
  msgid "Available placeholders"
520
  msgstr ""
521
  "Verfügbare Platzhalter\n"
522
 
523
+ #: includes/customizer/class-wc-availableforpickup-email-customizer.php:427
524
+ #: includes/customizer/class-wc-delivered-email-customizer.php:429
525
+ #: includes/customizer/class-wc-email-customizer.php:446
526
+ #: includes/customizer/class-wc-failure-email-customizer.php:428
527
+ #: includes/customizer/class-wc-intransit-email-customizer.php:431
528
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:429
529
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:427
530
+ #: includes/customizer/class-wc-tracking-info-customizer.php:791
531
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:297
532
+ msgid "Please select order to preview."
533
  msgstr ""
 
534
 
535
+ #: includes/customizer/class-wc-delivered-email-customizer.php:124
536
  msgid "Your order #{order_number} has been delivered"
537
  msgstr ""
538
 
539
+ #: includes/customizer/class-wc-delivered-email-customizer.php:126
540
+ #: includes/customizer/class-wc-email-customizer.php:132
541
  msgid ""
542
  "Hi there. we thought you'd like to know that your recent order from "
543
  "{site_title} has been Delivered."
545
  "Hallo. Wir dachten, Sie möchten wissen, dass Ihre letzte Bestellung von "
546
  "{site_title} geliefert wurde.\n"
547
 
548
+ #: includes/customizer/class-wc-delivered-email-customizer.php:157
549
  msgid "Delivered shipment status email"
550
  msgstr "Versandstatus E-Mail geliefert"
551
 
552
+ #: includes/customizer/class-wc-delivered-email-customizer.php:172
553
  msgid "Enable Delivered shipment status email"
554
  msgstr "Versandstatus-E-Mail aktivieren"
555
 
556
+ #: includes/customizer/class-wc-email-customizer.php:130
557
+ #: includes/emails/class-shipment-delivered-email.php:94
558
  msgid "Your {site_title} order is now delivered"
559
  msgstr ""
560
  "Ihre {site_title} Bestellung wird jetzt geliefert\n"
561
 
562
+ #: includes/customizer/class-wc-email-customizer.php:179
 
 
 
 
 
 
 
 
 
 
 
563
  msgid "Enable Delivered order status email"
564
  msgstr ""
565
  "Aktivieren Sie die Status-E-Mail für die gelieferte Bestellung\n"
566
 
567
+ #: includes/customizer/class-wc-email-customizer.php:201
568
+ #: includes/customizer/class-wc-tracking-info-customizer.php:182
569
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:181
570
  msgid "Please select a order..."
571
  msgstr ""
572
  "Bitte wählen Sie eine Bestellung aus ...\n"
573
 
574
+ #: includes/customizer/class-wc-email-customizer.php:243
575
+ #: includes/customizer/class-wc-email-customizer.php:266
576
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:200
577
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:223
 
 
 
 
 
 
 
 
578
  msgid "Available variables: {site_title}, {order_number}"
579
  msgstr ""
580
 
581
+ #: includes/customizer/class-wc-email-customizer.php:289
582
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:246
583
  msgid ""
584
  "available variables: {site_title}, {customer_email}, {customer_first_name}, "
585
  "{customer_last_name}, {customer_username}, {order_number}"
586
  msgstr ""
587
 
588
+ #: includes/customizer/class-wc-email-customizer.php:308
589
  msgid "Display tracking details"
590
  msgstr ""
591
 
592
+ #: includes/customizer/class-wc-email-customizer.php:324
593
  msgid "Display order details"
594
  msgstr ""
595
 
596
+ #: includes/customizer/class-wc-email-customizer.php:341
597
  msgid "Display Shipping Address"
598
  msgstr ""
599
 
600
+ #: includes/customizer/class-wc-email-customizer.php:358
601
  msgid "Display Billing Address"
602
  msgstr ""
603
 
604
+ #: includes/customizer/class-wc-email-customizer.php:375
605
  msgid "Enable Google Analytics tracking"
606
  msgstr ""
607
 
608
+ #: includes/customizer/class-wc-email-customizer.php:393
609
  msgid ""
610
  "This will be appended to URL in the email content – e.g. "
611
  "utm_source=ast&utm_medium=email&utm_campaign=delivered"
612
  msgstr ""
613
 
614
+ #: includes/customizer/class-wc-failure-email-customizer.php:123
615
  msgid "Your order #{order_number} is Failed Attempt"
616
  msgstr "Ihre Bestellung Nr. {Order_number} ist fehlgeschlagen"
617
 
618
+ #: includes/customizer/class-wc-failure-email-customizer.php:125
619
  msgid ""
620
  "Hi there. we thought you'd like to know that your recent order from "
621
  "{site_title} is Failed Attempt"
623
  "Hallo. Wir dachten, Sie möchten wissen, dass Ihre letzte Bestellung bei "
624
  "{site_title} fehlgeschlagen ist"
625
 
626
+ #: includes/customizer/class-wc-failure-email-customizer.php:156
627
  msgid "Failed Attempt shipment status email"
628
  msgstr "Fehler beim Versenden der Sendungsstatus-E-Mail"
629
 
630
+ #: includes/customizer/class-wc-failure-email-customizer.php:171
631
  msgid "Enable Failed Attempt shipment status email"
632
  msgstr "Versandstatus-E-Mail für fehlgeschlagenen Versuch aktivieren"
633
 
634
+ #: includes/customizer/class-wc-intransit-email-customizer.php:126
635
  msgid "Your order #{order_number} is in transit"
636
  msgstr ""
637
  "Ihre Bestellung Nr. {Order_number} ist in Bearbeitung\n"
638
 
639
+ #: includes/customizer/class-wc-intransit-email-customizer.php:128
640
  msgid ""
641
  "Hi there. we thought you'd like to know that your recent order from "
642
  "{site_title} is in transit"
644
  "Hallo. Wir dachten, Sie möchten wissen, dass Ihre letzte Bestellung von "
645
  "{site_title} unterwegs ist\n"
646
 
647
+ #: includes/customizer/class-wc-intransit-email-customizer.php:159
648
  msgid "In Transit shipment status email"
649
  msgstr "In Transit Sendungsstatus E-Mail"
650
 
651
+ #: includes/customizer/class-wc-intransit-email-customizer.php:174
652
  msgid "Enable In Transit shipment status email"
653
  msgstr ""
654
  "Sendungsstatus-E-Mail in Transit aktivieren\n"
655
 
656
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:125
657
  msgid "Your order #{order_number} is out for delivery"
658
  msgstr ""
659
  "Ihre Bestellung Nr. {Order_number} ist nicht lieferbar\n"
660
 
661
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:127
662
  msgid ""
663
  "Hi there. we thought you'd like to know that your recent order from "
664
  "{site_title} is out for delivery."
666
  "Hallo. Wir dachten, Sie möchten wissen, dass Ihre letzte Bestellung von "
667
  "{site_title} nicht lieferbar ist.\n"
668
 
669
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:158
670
  msgid "Out For Delivery shipment status email"
671
  msgstr "Out For Delivery Versandstatus-E-Mail"
672
 
673
+ #: includes/customizer/class-wc-outfordelivery-email-customizer.php:173
674
  msgid "Enable Out For Delivery shipment status email"
675
  msgstr "Sendungsstatus-E-Mail für die Auslieferung aktivieren"
676
 
677
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:123
678
  msgid "Your order #{order_number} has returned to sender"
679
  msgstr ""
680
  "Ihre Bestellung Nr. {Order_number} wurde an den Absender zurückgeschickt\n"
681
 
682
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:125
683
  msgid ""
684
  "Hi there. we thought you'd like to know that your recent order from "
685
  "{site_title} has been returned to sender."
687
  "Hallo. Wir dachten, Sie möchten wissen, dass Ihre letzte Bestellung von "
688
  "{site_title} an den Absender zurückgeschickt wurde.\n"
689
 
690
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:156
691
  msgid "Return To Sender shipment status email"
692
  msgstr "Sendungsstatus-E-Mail an Absender zurücksenden"
693
 
694
+ #: includes/customizer/class-wc-returntosender-email-customizer.php:171
695
  msgid "Enable Return To Sender shipment status email"
696
  msgstr ""
697
  "Aktivieren Sie die Sendungsstatus-E-Mail für die Rücksendung an den Absender"
698
 
699
+ #: includes/customizer/class-wc-tracking-info-customizer.php:144
700
+ #: includes/customizer/class-wc-tracking-info-customizer.php:364
701
+ #: templates/emails/tracking-info.php:132
702
+ #: templates/myaccount/tracking-info.php:91
703
  msgid "Provider"
704
  msgstr "Anbieter"
705
 
706
+ #: includes/customizer/class-wc-tracking-info-customizer.php:145
707
+ #: includes/customizer/class-wc-tracking-info-customizer.php:386
708
+ #: templates/emails/tracking-info.php:156
709
+ #: templates/myaccount/tracking-info.php:113
 
710
  msgid "Tracking Number"
711
  msgstr "Auftragsnummer, Frachtnummer, Sendungscode"
712
 
713
+ #: includes/customizer/class-wc-tracking-info-customizer.php:146
714
+ #: includes/customizer/class-wc-tracking-info-customizer.php:407
715
  msgid "Shipped Date"
716
  msgstr "Versanddatum"
717
 
718
+ #: includes/customizer/class-wc-tracking-info-customizer.php:179
719
  msgid ""
720
  "select from last 20 orders one order that you added tracking info in order "
721
  "to preview and design the tracking info table."
724
  "Tracking-Informationen versehen haben, um die Tracking-Informationstabelle "
725
  "in der Vorschau anzuzeigen und zu gestalten.\n"
726
 
727
+ #: includes/customizer/class-wc-tracking-info-customizer.php:198
728
+ #: includes/views/admin_options_settings.php:15
729
+ #: includes/views/admin_options_trackship_integration.php:82
730
+ msgid "General Settings"
731
+ msgstr "Allgemeine Einstellungen"
732
+
733
+ #: includes/customizer/class-wc-tracking-info-customizer.php:213
734
  msgid "Tracking Display Position"
735
  msgstr "Verfolgung der Anzeigeposition"
736
 
737
+ #: includes/customizer/class-wc-tracking-info-customizer.php:217
738
  msgid "Before Order Details"
739
  msgstr "Vor der Bestellung Details"
740
 
741
+ #: includes/customizer/class-wc-tracking-info-customizer.php:218
742
  msgid "After Order Details"
743
  msgstr "Nach Auftragsdetails"
744
 
745
+ #: includes/customizer/class-wc-tracking-info-customizer.php:233
746
  msgid "Main Header text"
747
  msgstr "Haupt-Header-Text"
748
 
749
+ #: includes/customizer/class-wc-tracking-info-customizer.php:240
 
750
  msgid "Tracking Information"
751
  msgstr "Tracking-Informationen"
752
 
753
+ #: includes/customizer/class-wc-tracking-info-customizer.php:255
754
  msgid "Additional text after header"
755
  msgstr "Zusätzlicher Text nach Kopfzeile"
756
 
757
+ #: includes/customizer/class-wc-tracking-info-customizer.php:276
758
+ msgid "Table Content"
759
+ msgstr ""
760
 
761
+ #: includes/customizer/class-wc-tracking-info-customizer.php:291
762
  msgid "Display Shipment Provider image"
763
  msgstr "Bild des Versandanbieters anzeigen"
764
 
765
+ #: includes/customizer/class-wc-tracking-info-customizer.php:308
766
  msgid "Hide date"
767
  msgstr "Datum ausblenden"
768
 
769
+ #: includes/customizer/class-wc-tracking-info-customizer.php:325
770
+ msgid "Table Header"
771
+ msgstr ""
772
+
773
+ #: includes/customizer/class-wc-tracking-info-customizer.php:340
774
+ msgid "Hide Header"
775
+ msgstr ""
776
+
777
+ #: includes/customizer/class-wc-tracking-info-customizer.php:357
778
  msgid "Provider Header Text"
779
  msgstr "Anbieterkopfzeilentext"
780
 
781
+ #: includes/customizer/class-wc-tracking-info-customizer.php:379
782
  msgid "Tracking Number Header Text"
783
  msgstr "Tracking-Nummer-Header-Text"
784
 
785
+ #: includes/customizer/class-wc-tracking-info-customizer.php:400
786
  msgid "Shipped Date Header Text"
787
  msgstr "Versanddatum Header Text"
788
 
789
+ #: includes/customizer/class-wc-tracking-info-customizer.php:421
790
  msgid "Track Label"
791
  msgstr "Track Label"
792
 
793
+ #: includes/customizer/class-wc-tracking-info-customizer.php:437
794
  msgid "Track Header Text"
795
  msgstr "Kopfzeilentext verfolgen"
796
 
797
+ #: includes/customizer/class-wc-tracking-info-customizer.php:459
798
+ msgid "Table header font size"
799
+ msgstr "Schriftgröße der Tabellenüberschrift"
800
+
801
+ #: includes/customizer/class-wc-tracking-info-customizer.php:476
802
+ msgid "Table header font color"
803
+ msgstr "Schriftfarbe der Tabellenüberschrift"
804
+
805
+ #: includes/customizer/class-wc-tracking-info-customizer.php:492
806
  msgid "Table Design"
807
  msgstr ""
808
  "Tisch Design\n"
809
 
810
+ #: includes/customizer/class-wc-tracking-info-customizer.php:507
811
  msgid "Padding"
812
  msgstr "Polsterung"
813
 
814
+ #: includes/customizer/class-wc-tracking-info-customizer.php:527
815
  msgid "Background color"
816
  msgstr ""
817
  "Hintergrundfarbe\n"
818
 
819
+ #: includes/customizer/class-wc-tracking-info-customizer.php:555
820
  msgid "Border color"
821
  msgstr "Randfarbe"
822
 
823
+ #: includes/customizer/class-wc-tracking-info-customizer.php:571
824
  msgid "Border size"
825
  msgstr ""
826
  "Rahmengrösse\n"
827
 
828
+ #: includes/customizer/class-wc-tracking-info-customizer.php:595
 
 
 
 
 
 
829
  msgid "Table text align"
830
  msgstr "Tabellentext ausrichten"
831
 
832
+ #: includes/customizer/class-wc-tracking-info-customizer.php:618
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
833
  msgid "Table content font size"
834
  msgstr "Schriftgröße des Tabelleninhalts"
835
 
836
+ #: includes/customizer/class-wc-tracking-info-customizer.php:635
837
  msgid "Table content font color"
838
  msgstr "Schriftfarbe des Tabelleninhalts"
839
 
840
+ #: includes/customizer/class-wc-tracking-info-customizer.php:651
841
  msgid "Content line height"
842
  msgstr "Höhe der Inhaltszeile"
843
 
844
+ #: includes/customizer/class-wc-tracking-info-customizer.php:672
845
  msgid "Content font weight"
846
  msgstr ""
847
  "Schriftgröße des Inhalts\n"
848
 
849
+ #: includes/customizer/class-wc-tracking-info-customizer.php:694
850
+ msgid "Track Button Design"
851
+ msgstr ""
852
 
853
+ #: includes/customizer/class-wc-tracking-info-customizer.php:708
854
  msgid "Track Link Font Color"
855
  msgstr "Track Link-Schriftfarbe"
856
 
857
+ #: includes/customizer/class-wc-tracking-info-customizer.php:724
858
  msgid "Track Link Background Color"
859
  msgstr "Track Link Hintergrundfarbe"
860
 
861
+ #: includes/customizer/class-wc-tracking-info-customizer.php:739
862
  msgid "Track link Border"
863
  msgstr "Track Link Grenze"
864
 
865
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:116
866
+ msgid "Your {site_title} order is now partial shipped"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
867
  msgstr ""
 
868
 
869
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:118
870
+ msgid ""
871
+ "Hi there. we thought you'd like to know that your recent order from "
872
+ "{site_title} has been Partial Shipped."
 
 
 
873
  msgstr ""
 
874
 
875
+ #: includes/customizer/class-wc-partial-shipped-email-customizer.php:159
876
+ msgid "Enable Partial Shipped order status email"
877
  msgstr ""
 
878
 
879
  #: includes/emails/class-shipment-delivered-email.php:32
880
  msgid "Delivered order"
886
  "delivered and usually indicate that their orders have been shipped."
887
  msgstr ""
888
 
889
+ #: includes/emails/class-shipment-delivered-email.php:279
890
+ msgid "Click Here"
891
  msgstr ""
892
 
893
+ #: includes/emails/class-shipment-delivered-email.php:280
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
894
  msgid "Edit in customizer"
895
  msgstr ""
896
 
897
+ #: includes/views/admin_options_bulk_upload.php:10
898
  msgid "Upload CSV"
899
  msgstr "CSV hochladen"
900
 
901
+ #: includes/views/admin_options_bulk_upload.php:20
902
  msgid ""
903
  "Replace tracking info if exists? (if not checked, the tracking info will be "
904
  "added)"
906
  "Tracking-Info ersetzen, falls vorhanden? (wenn nicht markiert, werden die "
907
  "Tracking-Informationen hinzugefügt)"
908
 
909
+ #: includes/views/admin_options_bulk_upload.php:29
910
+ #: includes/views/admin_options_shipping_provider.php:119
911
+ #: includes/views/admin_options_shipping_provider.php:153
912
  msgid "Upload"
913
  msgstr "Hochladen"
914
 
915
+ #: includes/views/admin_options_bulk_upload.php:31
 
 
916
  msgid "Settings Saved."
917
  msgstr "Einstellungen gespeichert."
918
 
919
+ #: includes/views/admin_options_bulk_upload.php:41
920
+ msgid "Upload Progress - "
921
+ msgstr "Upload-Fortschritt -"
922
+
923
+ #: includes/views/admin_options_bulk_upload.php:45
924
+ msgid "Sample CSV"
925
+ msgstr ""
926
+
927
+ #: includes/views/admin_options_bulk_upload.php:50
928
  msgid "You can download an example of the csv file:"
929
  msgstr "Sie können ein Beispiel für die CSV-Datei herunterladen:"
930
 
931
+ #: includes/views/admin_options_bulk_upload.php:53
932
  msgid "Download sample csv file"
933
  msgstr "Laden Sie die Beispiel-CSV-Datei herunter"
934
 
935
+ #: includes/views/admin_options_bulk_upload.php:58
936
  msgid ""
937
  "For detailed instructions on how to upload tracking info in bulk, see our"
938
  msgstr ""
939
  "For detailed instructions on how to upload tracking info in bulk, see our"
940
 
941
+ #: includes/views/admin_options_settings.php:26
942
+ #: includes/views/admin_options_settings.php:74
943
+ #: includes/views/admin_options_settings.php:100
944
+ #: includes/views/admin_options_trackship_integration.php:93
945
+ #: includes/views/admin_options_trackship_integration.php:124
946
+ msgid "Save Changes"
947
+ msgstr ""
948
+
949
+ #: includes/views/admin_options_settings.php:40
950
+ msgid "Tracking Info Display"
951
+ msgstr ""
952
 
953
+ #: includes/views/admin_options_settings.php:49
954
+ msgid "You can customize the tracking info display on emails and my account"
955
+ msgstr ""
956
 
957
+ #: includes/views/admin_options_settings.php:52
958
+ msgid "Launch Customizer"
 
959
  msgstr ""
 
960
 
961
+ #: includes/views/admin_options_settings.php:62
 
962
  msgid "Delivered Order Status"
963
  msgstr "Status der gelieferten Bestellung"
964
 
965
+ #: includes/views/admin_options_settings.php:88
966
+ msgid "Partial Shipped Order Status"
967
  msgstr ""
 
968
 
969
+ #: includes/views/admin_options_settings.php:94
970
+ #, php-format
971
+ msgid ""
972
+ "<strong>PLEASE NOTE</strong> - If you use the custom order status \"Partial "
973
+ "Shipped\", when you deactivate the plugin, you must register this order "
974
+ "status in function.php in order to see these orders in the orders admin. You "
975
+ "can find the <a href=\"%s\" target=\"blank\">snippet</a> to use in functions."
976
+ "php here or you can manually change all your \"partial-shipped\" order to "
977
+ "\"completed\" before deactivating the plugin."
978
+ msgstr ""
979
 
980
+ #: includes/views/admin_options_shipping_provider.php:12
981
+ #: includes/views/admin_options_shipping_provider.php:23
982
+ msgid "Active"
983
+ msgstr ""
984
+
985
+ #: includes/views/admin_options_shipping_provider.php:13
986
+ #: includes/views/admin_options_shipping_provider.php:23
987
+ msgid "Inactive"
988
+ msgstr ""
989
+
990
+ #: includes/views/admin_options_shipping_provider.php:14
991
+ msgid "Custom"
992
+ msgstr ""
993
+
994
+ #: includes/views/admin_options_shipping_provider.php:21
995
+ msgid "Add Custom Provider"
996
+ msgstr ""
997
+
998
+ #: includes/views/admin_options_shipping_provider.php:22
999
+ #: includes/views/admin_options_shipping_provider.php:170
1000
+ #: includes/views/admin_options_shipping_provider.php:177
1001
+ msgid "Sync Shipping Providers"
1002
+ msgstr ""
1003
+
1004
+ #: includes/views/admin_options_shipping_provider.php:23
1005
+ msgid "Reset"
1006
+ msgstr ""
1007
 
1008
+ #: includes/views/admin_options_shipping_provider.php:27
1009
+ msgid "Search by provider / country"
1010
+ msgstr ""
1011
+
1012
+ #: includes/views/admin_options_shipping_provider.php:95
1013
+ #, php-format
1014
+ msgid "You don't have any %s shipping providers."
1015
+ msgstr "Sie haben keine% s Versandanbieter."
1016
+
1017
+ #: includes/views/admin_options_shipping_provider.php:101
1018
  msgid "Add Custom Shipping Provider"
1019
  msgstr "Fügen Sie einen benutzerdefinierten Versandanbieter hinzu"
1020
 
1021
+ #: includes/views/admin_options_shipping_provider.php:108
1022
+ #: includes/views/admin_options_shipping_provider.php:142
1023
+ msgid "Shipping Country"
1024
+ msgstr ""
1025
 
1026
+ #: includes/views/admin_options_shipping_provider.php:109
1027
+ #: includes/views/admin_options_shipping_provider.php:143
1028
  msgid "Global"
1029
  msgstr ""
1030
 
1031
+ #: includes/views/admin_options_shipping_provider.php:135
1032
  msgid "Edit Custom Shipping Provider"
1033
  msgstr "Benutzerdefinierten Versandanbieter bearbeiten"
1034
 
1035
+ #: includes/views/admin_options_shipping_provider.php:171
1036
+ msgid ""
1037
+ "Syncing the shipping providers list add or updates the pre-set shipping "
1038
+ "providers and will not effect custom shipping providers."
1039
+ msgstr ""
 
 
 
1040
 
1041
+ #: includes/views/admin_options_shipping_provider.php:173
1042
  msgid "Providers Added"
1043
  msgstr "Anbieter hinzugefügt"
1044
 
1045
+ #: includes/views/admin_options_shipping_provider.php:174
1046
  msgid "Providers Updated"
1047
  msgstr "Anbieter aktualisiert"
1048
 
1049
+ #: includes/views/admin_options_shipping_provider.php:175
1050
  msgid "Providers Deleted"
1051
  msgstr "Anbieter gelöscht"
1052
 
1053
+ #: includes/views/admin_options_trackship_integration.php:107
 
 
 
 
 
1054
  msgid "Tracking Page"
1055
  msgstr "Tracking-Seite"
1056
 
1057
+ #: includes/views/admin_options_trackship_integration.php:117
 
 
 
 
1058
  msgid "Click to preview the tracking page"
1059
  msgstr "Klicken Sie hier, um eine Vorschau der Tracking-Seite anzuzeigen"
1060
 
1061
+ #: includes/views/admin_options_trackship_integration.php:118
1062
  msgid "PLEASE NOTE - make sure to save your settings before preview."
1063
  msgstr ""
1064
  "BITTE BEACHTEN SIE - Stellen Sie sicher, dass Sie Ihre Einstellungen vor der "
1065
  "Vorschau speichern."
1066
 
1067
+ #: includes/views/admin_options_trackship_integration.php:137
1068
  msgid "Shipment Status Notifications "
1069
  msgstr "Benachrichtigungen zum Sendungsstatus"
1070
 
1071
+ #: includes/views/admin_options_trackship_integration.php:163
1072
  msgid ""
1073
  "Carrier has accepted or picked up shipment from shipper. The shipment is on "
1074
  "the way."
1076
  "Der Spediteur hat die Sendung vom Versender angenommen oder abgeholt. Die "
1077
  "Sendung ist unterwegs."
1078
 
1079
+ #: includes/views/admin_options_trackship_integration.php:177
1080
  msgid "Shipment is returned to sender"
1081
  msgstr "Die Sendung wird an den Absender zurückgeschickt"
1082
 
1083
+ #: includes/views/admin_options_trackship_integration.php:191
1084
  msgid "The shipment is ready to pickup."
1085
  msgstr "Die Sendung ist zur Abholung bereit."
1086
 
1087
+ #: includes/views/admin_options_trackship_integration.php:204
1088
  msgid "Carrier is about to deliver the shipment"
1089
  msgstr "Der Spediteur ist im Begriff, die Sendung zu liefern"
1090
 
1091
+ #: includes/views/admin_options_trackship_integration.php:218
1092
  msgid "The shipment was delivered successfully"
1093
  msgstr "Die Sendung wurde erfolgreich zugestellt"
1094
 
1095
+ #: includes/views/admin_options_trackship_integration.php:219
1096
  msgid ""
1097
  "You already have delivered email enabled, to enable this email you'll need "
1098
  "to disable the order status delivered in settings."
1101
  "aktivieren, müssen Sie den in den Einstellungen angegebenen Bestellstatus "
1102
  "deaktivieren."
1103
 
1104
+ #: includes/views/admin_options_trackship_integration.php:233
1105
  msgid ""
1106
  "Carrier attempted to deliver but failed, and usually leaves a notice and "
1107
  "will try to deliver the package again."
1110
  "Normalerweise hinterlässt er eine Nachricht und versucht, das Paket erneut "
1111
  "zuzustellen."
1112
 
1113
+ #: includes/views/admin_options_tools.php:14
1114
+ msgid "Get Shipment Status"
 
 
 
 
 
 
 
 
 
 
 
 
1115
  msgstr ""
1116
 
1117
+ #: includes/views/admin_options_tools.php:23
1118
+ msgid ""
1119
+ "You can send all your orders from the last 30 days to get shipment status "
1120
+ "from TrackShip:"
 
 
1121
  msgstr ""
 
1122
 
1123
  #. %s: Order ID.
1124
+ #: templates/emails/wcast-email-order-details.php:47
1125
  #, php-format
1126
  msgid "Order number: %s"
1127
  msgstr ""
1128
  "Bestellnummer:% s\n"
1129
 
1130
+ #. Name of the plugin
1131
+ msgid "Advanced Shipment Tracking for WooCommerce"
1132
+ msgstr ""
1133
+
1134
+ #. Description of the plugin
1135
+ msgid ""
1136
+ "Add shipment tracking information to your WooCommerce orders and provide "
1137
+ "customers with an easy way to track their orders. Shipment tracking Info "
1138
+ "will appear in customers accounts (in the order panel) and in WooCommerce "
1139
+ "order complete email."
1140
  msgstr ""
 
1141
 
1142
+ #. Author of the plugin
1143
+ msgid "zorem"
1144
  msgstr ""
 
lang/woo-advanced-shipment-tracking-el.mo CHANGED
Binary file
lang/woo-advanced-shipment-tracking-el.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce Advanced Shipment Tracking\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2019-09-06 11:44+0000\n"
6
- "PO-Revision-Date: 2019-09-06 11:45+0000\n"
7
  "Last-Translator: gaurav <gaurav1092@zorem.com>\n"
8
  "Language-Team: Greek\n"
9
  "Language: el\n"
@@ -12,9 +12,9 @@ msgstr ""
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
  "X-Generator: Loco https://localise.biz/\n"
15
- "X-Loco-Version: 2.3.0; wp-5.2.3"
16
 
17
- #: woocommerce-advanced-shipment-tracking.php:112
18
  #, php-format
19
  msgid ""
20
  "Please install and activate %sWooCommerce%s for WooCommerce Advanced "
@@ -23,8 +23,13 @@ msgstr ""
23
  "Παρακαλούμε εγκαταστήστε και ενεργοποιήστε %sWooCommerce%s for WooCommerce "
24
  "Advanced Shipment Tracking!"
25
 
26
- #: woocommerce-advanced-shipment-tracking.php:390
27
- #: includes/views/admin_options_settings.php:21
 
 
 
 
 
28
  #, php-format
29
  msgid ""
30
  "<strong>PLEASE NOTE</strong> - If you use the custom order status "
@@ -35,496 +40,7 @@ msgid ""
35
  "\"completed\" before deactivating the plugin."
36
  msgstr ""
37
 
38
- #: includes/class-wc-advanced-shipment-tracking-admin.php:209
39
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1144
40
- msgid "Shipped"
41
- msgstr "Στάλθηκε"
42
-
43
- #: includes/class-wc-advanced-shipment-tracking-admin.php:226
44
- #, php-format
45
- msgid "Shipped <span class=\"count\">(%s)</span>"
46
- msgid_plural "Shipped <span class=\"count\">(%s)</span>"
47
- msgstr[0] "Στάλθηκε <span class=\"count\">(%s)</span>"
48
- msgstr[1] "Στάλθηκαν <span class=\"count\">(%s)</span>"
49
-
50
- #: includes/class-wc-advanced-shipment-tracking-admin.php:240
51
- msgid "Change status to shipped"
52
- msgstr "Αλλαγή κατάστασης σε απεστάλει"
53
-
54
- #: includes/class-wc-advanced-shipment-tracking-admin.php:250
55
- #: includes/class-wc-advanced-shipment-tracking-admin.php:279
56
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1594
57
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1785
58
- #: includes/class-wc-advanced-shipment-tracking-admin.php:2190
59
- #: includes/customizer/class-wcast-customizer.php:104
60
- #: includes/customizer/class-wc-delivered-email-customizer.php:115
61
- #: includes/views/admin_options_trackship_integration.php:134
62
- msgid "Delivered"
63
- msgstr "Παραδόθηκε"
64
-
65
- #: includes/class-wc-advanced-shipment-tracking-admin.php:255
66
- #, php-format
67
- msgid "Delivered <span class=\"count\">(%s)</span>"
68
- msgid_plural "Delivered <span class=\"count\">(%s)</span>"
69
- msgstr[0] "Παραδόθηκε <span class=\"count\">(%s)</span>"
70
- msgstr[1] "Παραδόθηκαν <span class=\"count\">(%s)</span>"
71
-
72
- #: includes/class-wc-advanced-shipment-tracking-admin.php:261
73
- #: includes/class-wc-advanced-shipment-tracking-admin.php:290
74
- msgid "Updated Tracking"
75
- msgstr "Ενημερωμένη παρακολούθηση"
76
-
77
- #: includes/class-wc-advanced-shipment-tracking-admin.php:266
78
- #, php-format
79
- msgid "Updated Tracking <span class=\"count\">(%s)</span>"
80
- msgid_plural "Updated Tracking <span class=\"count\">(%s)</span>"
81
- msgstr[0] "Ενημερωμένη παρακολούθηση <span class = \"count\"> (% s) </ span>"
82
- msgstr[1] "Ενημερωμένη παρακολούθηση <span class = \"count\"> (% s) </ span>"
83
-
84
- #: includes/class-wc-advanced-shipment-tracking-admin.php:320
85
- msgid "Change status to delivered"
86
- msgstr "Αλλαγή κατάστασης σε παραδόθηκε"
87
-
88
- #: includes/class-wc-advanced-shipment-tracking-admin.php:523
89
- msgid "Shipment status"
90
- msgstr "Κατάσταση Αποστολής"
91
-
92
- #: includes/class-wc-advanced-shipment-tracking-admin.php:622
93
- msgid ""
94
- "Get Shipment Status is limited to 100 orders at a time, please select up to "
95
- "100 orders."
96
- msgstr ""
97
-
98
- #: includes/class-wc-advanced-shipment-tracking-admin.php:667
99
- msgid "Order"
100
- msgstr "Παραγγελία"
101
-
102
- #: includes/class-wc-advanced-shipment-tracking-admin.php:668
103
- msgid "Item"
104
- msgstr "Αντικείμενο"
105
-
106
- #: includes/class-wc-advanced-shipment-tracking-admin.php:669
107
- msgid "Line Item"
108
- msgstr "Στοιχείο γραμμής"
109
-
110
- #: includes/class-wc-advanced-shipment-tracking-admin.php:670
111
- msgid "Class"
112
- msgstr "Κλάση"
113
-
114
- #: includes/class-wc-advanced-shipment-tracking-admin.php:671
115
- msgid "Delete the selected rates?"
116
- msgstr "Να διαγραφούν οι επιλεγμένες τιμές;"
117
-
118
- #: includes/class-wc-advanced-shipment-tracking-admin.php:672
119
- msgid "Duplicate the selected rates?"
120
- msgstr "Να αντιγραφούν οι επιλεγμένες τιμές;"
121
-
122
- #: includes/class-wc-advanced-shipment-tracking-admin.php:673
123
- msgid "Really want to bulk change all provider status?"
124
- msgstr "Θέλετε πράγματι να αλλάξετε μαζικά την κατάσταση όλων των παροχέων;"
125
-
126
- #: includes/class-wc-advanced-shipment-tracking-admin.php:674
127
- #: includes/views/admin_options_settings.php:26
128
- msgid "Data saved successfully."
129
- msgstr "Τα δεδομένα αποθηκεύτηκαν με επιτυχία."
130
-
131
- #: includes/class-wc-advanced-shipment-tracking-admin.php:675
132
- msgid "Really delete this entry? This will not be undo."
133
- msgstr ""
134
- "Θέλετε πραγματικά να διαγράψετε αυτή την εγγραφή; Η ενέργεια αυτή δεν μπορεί "
135
- "να αναιρεθεί."
136
-
137
- #: includes/class-wc-advanced-shipment-tracking-admin.php:676
138
- msgid "You can upload only csv file."
139
- msgstr "Μπορείτε να ανεβάσετε μόνο το αρχείο csv."
140
-
141
- #: includes/class-wc-advanced-shipment-tracking-admin.php:677
142
- msgid "This browser does not support HTML5."
143
- msgstr "Αυτό το πρόγραμμα περιήγησης δεν υποστηρίζει HTML5."
144
-
145
- #: includes/class-wc-advanced-shipment-tracking-admin.php:678
146
- msgid "Please upload a valid CSV file."
147
- msgstr "Ανεβάστε ένα έγκυρο αρχείο CSV."
148
-
149
- #: includes/class-wc-advanced-shipment-tracking-admin.php:736
150
- msgid "Shipping Providers"
151
- msgstr "Προμηθευτές αποστολής"
152
-
153
- #: includes/class-wc-advanced-shipment-tracking-admin.php:739
154
- msgid "Settings"
155
- msgstr "Ρυθμίσεις"
156
-
157
- #: includes/class-wc-advanced-shipment-tracking-admin.php:742
158
- msgid "Bulk Upload"
159
- msgstr "Μαζική Μεταφόρτωση"
160
-
161
- #: includes/class-wc-advanced-shipment-tracking-admin.php:745
162
- msgid "TrackShip"
163
- msgstr ""
164
-
165
- #: includes/class-wc-advanced-shipment-tracking-admin.php:880
166
- msgid "Connected"
167
- msgstr ""
168
- "Συνδεδεμένος\n"
169
-
170
- #: includes/class-wc-advanced-shipment-tracking-admin.php:886
171
- msgid ""
172
- "Auto-track all your shipments, get real-time shipment tracking updates "
173
- "without leaving your stores admin."
174
- msgstr ""
175
- "Να παρακολουθείτε αυτόματα όλες τις αποστολές σας, να λαμβάνετε ενημερώσεις "
176
- "παρακολούθησης αποστολών σε πραγματικό χρόνο, χωρίς να αφήνετε τους "
177
- "διαχειριστές των καταστημάτων σας.\n"
178
-
179
- #: includes/class-wc-advanced-shipment-tracking-admin.php:889
180
- #, php-format
181
- msgid ""
182
- "You must have account and connect your store to %s in order to activate "
183
- "these advanced features."
184
- msgstr ""
185
- "Πρέπει να έχετε λογαριασμό και να συνδέσετε το κατάστημά σας στο% s για να "
186
- "ενεργοποιήσετε αυτές τις προηγμένες λειτουργίες.\n"
187
-
188
- #: includes/class-wc-advanced-shipment-tracking-admin.php:892
189
- #, php-format
190
- msgid "50 free Trackers for every new account! Get your %s account now>>"
191
- msgstr ""
192
- "50 δωρεάν trackers για κάθε νέο λογαριασμό! Βρείτε τον λογαριασμό σας% s "
193
- "τώρα >>"
194
-
195
- #: includes/class-wc-advanced-shipment-tracking-admin.php:988
196
- msgid "TrackShip Connection Status"
197
- msgstr "Κατάσταση σύνδεσης TrackShip"
198
-
199
- #: includes/class-wc-advanced-shipment-tracking-admin.php:995
200
- #: includes/emails/class-shipment-delivered-email.php:226
201
- msgid "Enable/Disable"
202
- msgstr "Ενεργοποίηση/Απενεργοποίηση"
203
-
204
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1001
205
- msgid "Set order status Delivered when order is delivered"
206
- msgstr ""
207
- "Ορισμός σειράς παραγγελίας Παραδίδεται κατά την παράδοση της παραγγελίας\n"
208
-
209
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1008
210
- #, php-format
211
- msgid ""
212
- "You have %s %s orders that you can track with TrackShip, you can send these "
213
- "shipments to TrackShip in Bulk."
214
- msgstr ""
215
-
216
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1009
217
- msgid "Get Shipment Status"
218
- msgstr ""
219
-
220
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1047
221
- msgid ""
222
- "You must add the shortcode [wcast-track-order] to the \"page name\" in order "
223
- "for the tracking page to work."
224
- msgstr ""
225
-
226
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1055
227
- msgid "Select Tracking Page"
228
- msgstr ""
229
- "Επιλέξτε Σελίδα παρακολούθησης\n"
230
-
231
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1063
232
- #: includes/customizer/class-wc-tracking-page-customizer.php:150
233
- msgid "Remove Trackship branding from tracking page"
234
- msgstr ""
235
- "Καταργήστε την επωνυμία Trackship από τη σελίδα παρακολούθησης\n"
236
-
237
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1069
238
- msgid "Use the tracking page in the customer email/my account tracking link"
239
- msgstr ""
240
- "Χρησιμοποιήστε τη σελίδα παρακολούθησης στη σύνδεση ηλεκτρονικού "
241
- "ταχυδρομείου πελάτη / λογαριασμού παρακολούθησης λογαριασμού\n"
242
-
243
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1075
244
- msgid "Select primary color for tracking page"
245
- msgstr ""
246
- "Επιλέξτε το αρχικό χρώμα για τη σελίδα παρακολούθησης\n"
247
-
248
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1081
249
- msgid "Select content border color for tracking page"
250
- msgstr ""
251
- "Επιλέξτε το χρώμα περιγράμματος περιεχομένου για τη σελίδα παρακολούθησης\n"
252
-
253
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1145
254
- msgid ""
255
- "Default \"mark as <span class=\"shipped_label\">shipped</span>\" checkbox "
256
- "state"
257
- msgstr ""
258
-
259
- #: includes/class-wc-advanced-shipment-tracking-admin.php:1146
260
- msgid ""
261
- "This means that the 'mark as <span class='shipped_label'>shipped</span>' "
262
- "will be selected by d
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce Advanced Shipment Tracking\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2019-10-25 08:22+0000\n"
6
+ "PO-Revision-Date: 2019-10-25 08:23+0000\n"
7
  "Last-Translator: gaurav <gaurav1092@zorem.com>\n"
8
  "Language-Team: Greek\n"
9
  "Language: el\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
  "X-Generator: Loco https://localise.biz/\n"
15
+ "X-Loco-Version: 2.3.1; wp-5.2.4"
16
 
17
+ #: woocommerce-advanced-shipment-tracking.php:114
18
  #, php-format
19
  msgid ""
20
  "Please install and activate %sWooCommerce%s for WooCommerce Advanced "
23
  "Παρακαλούμε εγκαταστήστε και ενεργοποιήστε %sWooCommerce%s for WooCommerce "
24
  "Advanced Shipment Tracking!"
25
 
26
+ #: woocommerce-advanced-shipment-tracking.php:223
27
+ #, php-format
28
+ msgid "Your order was shipped with %s and your tracking code is: %s"
29
+ msgstr ""
30
+
31
+ #: woocommerce-advanced-shipment-tracking.php:430
32
+ #: includes/views/admin_options_settings.php:68
33
  #, php-format
34
  msgid ""
35
  "<strong>PLEASE NOTE</strong> - If you use the custom order status "
40
  "\"completed\" before deactivating the plugin."
41
  msgstr ""
42