From 362c718416f8f378adae37e77f5acc6a9da67c5d Mon Sep 17 00:00:00 2001 From: lyt Date: Wed, 25 Apr 2018 11:21:33 +0800 Subject: [PATCH] =?UTF-8?q?trippest=20json=5Fencode=20=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E5=AD=97=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/TulanduoApi.php | 5 +++-- .../trippestOrderSync/helpers/array_helper.php | 18 ++++++++++++++++++ .../trippestOrderSync/models/orders_model.php | 1 + 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php b/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php index d5b009fd..b038519d 100644 --- a/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php +++ b/webht/third_party/trippestOrderSync/controllers/TulanduoApi.php @@ -48,9 +48,9 @@ class TulanduoApi extends CI_Controller public function __construct(){ parent::__construct(); + $this->load->helper('array'); $this->load->model('Orders_model'); $this->load->model('TuLanDuo_queryContentBuilder', 'tld_order'); - $this->load->helper('array'); // $this->output->enable_profiler(TRUE); @@ -129,7 +129,7 @@ class TulanduoApi extends CI_Controller } $PAG_Code = in_array($PAG_Code, array("SHALC-6","SHALC-7","SHALC-8","SHALC-9")) ? "SHSIC-45" : $PAG_Code; $serviceSN = $this->Orders_model->get_packageSN($PAG_Code); - $COLD_MemoText = json_encode(array("Pick up"=>$vo['toTraffic'], "Drop off"=>$vo['backTraffic'])); + $COLD_MemoText = raw_json_encode(array("Pick up"=>$vo['toTraffic'], "Drop off"=>$vo['backTraffic'])); $this->Orders_model->BIZ_COLI_SN = $this->Orders_model->GRI_SN = $this->Orders_model->GCI_SN = null; $this->Orders_model->get_SN_by_vendorOrderId($vo['orderId']); // 查询订单是否已经录入过 @@ -540,4 +540,5 @@ log_message('error','in GCI ' . json_decode($resp)->responseData->orderId); ,"上海单租车(目的地)" => "SHSIC-45" //"SHALC-6,7,8,9" ); } + } diff --git a/webht/third_party/trippestOrderSync/helpers/array_helper.php b/webht/third_party/trippestOrderSync/helpers/array_helper.php index 1dd8320d..006ff0bf 100644 --- a/webht/third_party/trippestOrderSync/helpers/array_helper.php +++ b/webht/third_party/trippestOrderSync/helpers/array_helper.php @@ -90,3 +90,21 @@ function my_implode($container,$se,$arr) } return $str; } +/*! + * json_encode($a, JSON_UNESCAPED_UNICODE ) + * for PHP Version < 5.4 + */ +function raw_json_encode($input, $flags = 0) { + $fails = implode('|', array_filter(array( + '\\\\', + $flags & JSON_HEX_TAG ? 'u003[CE]' : '', + $flags & JSON_HEX_AMP ? 'u0026' : '', + $flags & JSON_HEX_APOS ? 'u0027' : '', + $flags & JSON_HEX_QUOT ? 'u0022' : '', + ))); + $pattern = "/\\\\(?:(?:$fails)(*SKIP)(*FAIL)|u([0-9a-fA-F]{4}))/"; + $callback = function ($m) { + return html_entity_decode("&#x$m[1];", ENT_QUOTES, 'UTF-8'); + }; + return preg_replace_callback($pattern, $callback, json_encode($input, $flags)); +} diff --git a/webht/third_party/trippestOrderSync/models/orders_model.php b/webht/third_party/trippestOrderSync/models/orders_model.php index c412c806..54f68579 100644 --- a/webht/third_party/trippestOrderSync/models/orders_model.php +++ b/webht/third_party/trippestOrderSync/models/orders_model.php @@ -1672,4 +1672,5 @@ class Orders_model extends CI_Model { } + }