LMR 1 year ago
commit 3011277cf8

@ -390,6 +390,7 @@ $config['rewrite_short_tags'] = false;
*/
$config['proxy_ips'] = '';
//各站信息组和人员权限分配
$config['site'] = array(
'cht' => array('site_code' => 'cht', 'site_id' => 14, 'site_lgc' => '1', 'site_url' => 'https://www.chinahighlights.com', 'site_image_url' => 'https://images.chinahighlights.com', 'site_authors' => array('zzy', 'spt', 'yl', 'gavin', 'sw', 'zl', 'wbl', 'yqw', 'lf', 'zhm', 'pkl'), 'site_user' => ',ycc,lmr, zyh,J,shw,B,zzy,WJJ,Tony,pcf,zxy,wst,wz,v,S,yyg,yxd,wj,sw,yl,hx,spt,wmr,zl,syt,gavin,zm,htc,yqw,bhn,lmj,wbl,yqw,LYY,zhm,si'),
@ -424,9 +425,9 @@ $config['site'] = array(
'ts' => array('site_code' => 'ts', 'site_id' => 149, 'site_lgc' => '1', 'sitemap_name' => '', 'site_image_url' => '', 'site_url' => 'https://www.trainspread.com', 'site_sitemap' => '', 'site_authors' => array('X', 'sfx'), 'site_user' => array(',ycc,sfx,X,')),
'bht' => array('site_code' => 'bht', 'site_id' => 6565, 'site_lgc' => '1', 'site_image_url' => '', 'site_url' => 'https://www.beijinghighlights.com', 'site_authors' => array('cj')),
'trippest' => array('site_code' => 'trippest', 'site_id' => 145, 'site_lgc' => '1', 'site_image_url' => '', 'site_url' => 'https://www.trippest.com', 'site_authors' => array('cj'), 'site_user' => array(',ycc,zp,')),
'shanghai' => array('site_code' => 'shanghai', 'site_id' => 96, 'site_lgc' => '107', 'site_url' => 'http://www.shanghaihighlights.com/', 'site_image_url' => 'https://images.shanghaihighlights.com', 'site_authors' => array('ll', 'D'), 'site_user' => ',ycc,vz,bhn,J,wj,ll,D,ZP,lyy,'),
'beijing' => array('site_code' => 'beijing', 'site_id' => 98, 'site_lgc' => '106', 'site_url' => 'http://www.mybeijingchina.com/', 'site_image_url' => 'https://images.mybeijingchina.com', 'site_authors' => array('ll', 'D'), 'site_user' => ',ycc,vz,bhn,J,wj,ll,D,ZP,lyy,'),
'trainspread' => array('site_code' => 'trainspread', 'site_id' => 149, 'site_lgc' => '1', 'site_url' => 'http://www.trainspread.com/', 'site_image_url' => 'https://images.trainspread.com', 'site_authors' => array('ll', 'D'), 'site_user' => ',ycc,vz,bhn,J,wj,ll,D,ZP,lyy,'),
'shanghai' => array('site_code' => 'shanghai', 'site_id' => 96, 'site_lgc' => '107', 'site_url' => 'https://www.shanghaihighlights.com', 'site_image_url' => 'https://images.shanghaihighlights.com', 'site_authors' => array('ll', 'D'), 'site_user' => ',ycc,vz,bhn,J,wj,ll,D,ZP,lyy,'),
'beijing' => array('site_code' => 'beijing', 'site_id' => 98, 'site_lgc' => '106', 'site_url' => 'https://www.mybeijingchina.com', 'site_image_url' => 'https://images.mybeijingchina.com', 'site_authors' => array('ll', 'D'), 'site_user' => ',ycc,vz,bhn,J,wj,ll,D,ZP,lyy,'),
'trainspread' => array('site_code' => 'trainspread', 'site_id' => 149, 'site_lgc' => '1', 'site_url' => 'https://www.trainspread.com', 'site_image_url' => 'https://images.trainspread.com', 'site_authors' => array('ll', 'D'), 'site_user' => ',ycc,vz,bhn,J,wj,ll,D,ZP,lyy,'),
);
//静态文件生成路径

@ -964,7 +964,7 @@ class Information extends CI_Controller
foreach ($feedback_array[0] as $index => $tag_name) {
$city_name_string = $feedback_array[1][$index];
$city_name_list = explode(',', $city_name_string);
$feedback_list = $this->Feedback_model->get_feedback_by_city_list($city_name_list);
$feedback_list = $this->Feedback_model->get_feedback_by_city_list($city_name_list, FALSE);
// 防止触发 Google 网络垃圾政策只返回前三条
$top3_feedback_list = array_slice($feedback_list, 0, 3);
$feedback_content = $this->load->view(
@ -1091,9 +1091,23 @@ class Information extends CI_Controller
}
}
// 检查图片地址格式
// 头部大图
$parsed_photo = $information->ic_photo;
$parsed_photo_url = parse_url($information->ic_photo);
if ($device == 'mobile') {
$meta_addon_picture_mobile = get_meta($information->ic_id, 'meta_addon_picture_mobile');
if (!empty($meta_addon_picture_mobile)) {
$parsed_photo = $meta_addon_picture_mobile;
}
} else {
$meta_addon_picture = get_meta($information->ic_id, 'meta_addon_picture');
if (!empty($meta_addon_picture)) {
$parsed_photo = $meta_addon_picture;
}
}
// 检查图片地址格式
$parsed_photo_url = parse_url($parsed_photo);
if (
(!isset($parsed_photo_url['host']) || !isset($parsed_photo_url['scheme'])) && isset($parsed_photo_url['path'])
) {
@ -3337,6 +3351,55 @@ class Information extends CI_Controller
/** 替换H1加面包屑,加作者 */
$ic_content = preg_replace('/<h1>(.*)<\/h1>/i', $crumb . "\r\n" . '<H1>$1</H1>' . "\r\n" . $str_author . "\r\n", $ic_content, 1);
// 动态加载反馈标签,按城市出前三条。左侧
// HTLM: <div><!--@FEEDBACK_Shanghai,Beijing@--></div> ,显示全部用<!--@FEEDBACK_All@-->
// 解析结果:<!--@FEEDBACK_Shanghai,Beijing@-->; Shanghai,Beijing
$feedback_array = [];
preg_match_all('^<!--@FEEDBACK_(.*)@-->^', $information->ic_content, $feedback_array);
if (!empty($feedback_array)) {
foreach ($feedback_array[0] as $index => $tag_name) {
$city_name_string = $feedback_array[1][$index];
$feedback_list = $this->Feedback_model->get_CT_feedback_by_cityname($city_name_string,30);
// 防止触发 Google 网络垃圾政策只返回前三条
$top3_feedback_list = array_slice($feedback_list, 0, 3);
$feedback_content = $this->load->view(
'mobile_first/chinatravel-feedback-list',
array('feedback_list' => $top3_feedback_list),
true
);
$ic_content = str_replace(
$tag_name,
$feedback_content,
$ic_content
);
}
}
// 动态加载反馈标签,按城市出前三条。整页
// HTLM: <div><!--@FEEDBACKCROSS_Shanghai,Beijing@--></div> ,显示全部用<!--@FEEDBACK_All@-->
// 解析结果:<!--@FEEDBACKCROSS_Shanghai,Beijing@-->; Shanghai,Beijing
$feedback_array = [];
preg_match_all('^<!--@FEEDBACKCROSS_(.*)@-->^', $information->ic_content, $feedback_array);
if (!empty($feedback_array)) {
foreach ($feedback_array[0] as $index => $tag_name) {
$city_name_string = $feedback_array[1][$index];
$feedback_list = $this->Feedback_model->get_CT_feedback_by_cityname($city_name_string,30);
// 防止触发 Google 网络垃圾政策只返回前三条
$top3_feedback_list = array_slice($feedback_list, 0, 3);
$feedback_content = $this->load->view(
'mobile_first/chinatravel-feedback-cross',
array('feedback_list' => $top3_feedback_list),
true
);
$ic_content = str_replace(
$tag_name,
$feedback_content,
$ic_content
);
}
}
//图片加延迟
$ic_content = $this->html_optimize_lib->set_lazy_loader($ic_content, 'https://www.mybeijingchina.com/images/grey.gif');
@ -3666,14 +3729,34 @@ class Information extends CI_Controller
}
//火车票详细页搜索框添加 -- zp
$meta_ct_page_trainform = get_meta($information->ic_id, 'meta_ct_page_trainform'); //是否插入火车票搜索框
$template_TrainDetailSearch = "";
if ($meta_ct_page_trainform == "yes" || strpos($information->ic_url,"/china-trains")!==false) {
$meta_train_city = get_meta($information->ic_id, 'meta_train_city'); //默认的出发及目的地城市 beijing|shanghai
$data_TrainCity = array();
$data_TrainCity["from"] = "";
$data_TrainCity["to"] = "";
if (!empty($meta_train_city)) {
if (strpos($meta_train_city, '|') !== false) {
$arrTrainCity = explode('|', $meta_train_city);
$data_TrainCity["from"] = $arrTrainCity[0];
$data_TrainCity["to"] = $arrTrainCity[1];
}
}
$template_TrainDetailSearch = $this->load->view($template_path . '-train-index', $data_TrainCity, true);
}
/* 详细内容 */
$ic_content = $information->ic_content;
/** 替换H1加面包屑,加作者 */
$ic_content = preg_replace('/<h1>(.*)<\/h1>/i', $crumb . "\r\n" . '<H1>$1</H1>' . "\r\n" . $str_author . "\r\n", $ic_content, 1);
$ic_content = preg_replace('/<h1>(.*)<\/h1>/i', $crumb . "\r\n" . '<H1>$1</H1>' . "\r\n" . $str_author . $template_TrainDetailSearch . "\r\n", $ic_content, 1);
//图片加延迟
$ic_content = $this->html_optimize_lib->set_lazy_loader($ic_content, 'https://wwww.trainspread.com/images/grey.gif');
$ic_content = $this->html_optimize_lib->set_lazy_loader($ic_content, 'https://www.trainspread.com/images/grey.gif');
$ic_content = $this->html_optimize_lib->set_image_size($ic_content);
@ -3906,7 +3989,7 @@ class Information extends CI_Controller
if ($meta_ct_page_type == "daytripdetail") { //一日游产品的表单处理放这里根据PC和移动端有所区别
$DayTripData['device'] = $device;
/**替换左右结构的线路表单标签 2024-7-4*/
if (strpos($ic_content, '<!--@DAYTRIP-FORM@-->') !== false) {
//准备数据
@ -3954,44 +4037,44 @@ class Information extends CI_Controller
$InfoData = new stdClass(); //传递用来计算的信息平台数据
$MinTravelers = get_meta($information->ic_id, 'meta_trippest_limitperson');
$InfoData->MinTravelers = $MinTravelers == null ? 0 : $MinTravelers;
$InfoData->MinTravelers = $MinTravelers == null ? 0 : $MinTravelers;
//选项一
$TsOption1 = get_meta($information->ic_id, 'meta_trainspread_option1');
$InfoData->Option1 = new stdClass();
if ( $TsOption1 != false ){
$arrOption = explode(",", $TsOption1);
$arrItem = array();
$arrOption = explode(",", $TsOption1);
$arrItem = array();
$num = count($arrOption);
for ($i = 0; $i < $num; $i++) {
for ($i = 0; $i < $num; $i++) {
if ($i==0){
$InfoData->Option1->OptionName = $arrOption[$i];
}else{
$arrItemClass = new stdClass();
$arrItemClass->id = $i-1;
$arrItemClass->value = $arrOption[$i];
$arrItem[$i-1] = $arrItemClass;
$arrItem[$i-1] = $arrItemClass;
}
}
$InfoData->Option1->ItemList = $arrItem;
}else{
$InfoData->Option1 = $TsOption1;
}
//Package
$TsPackage = get_meta($information->ic_id, 'meta_trippest_package');
$InfoData->Package = new stdClass();
if ($TsPackage!=false){
$arrOption = explode("|", $TsPackage);
$arrItem = array();
$arrOption = explode("|", $TsPackage);
$arrItem = array();
$num = count($arrOption);
for ($i = 0; $i < $num; $i++) {
for ($i = 0; $i < $num; $i++) {
if ($i==0){
$InfoData->Package->PackageName = $arrOption[$i];
}
else{
$arr_Item = explode(",", $arrOption[$i]);
for ($j=0;$j<count($arr_Item);$j++){
$arrItemClass = new stdClass();
$arrItemClass = new stdClass();
$arrItemClass->id = $i;
$arrItemClass->ItemName = $arr_Item[0];
$arrItemClass->ItemAdult = $arr_Item[1];
@ -4009,17 +4092,17 @@ class Information extends CI_Controller
$TsOption2 = get_meta($information->ic_id, 'meta_trainspread_option2');
$InfoData->Option2 = new stdClass();
if ( $TsOption2 != false ){
$arrOption = explode(",", $TsOption2);
$arrItem = array();
$arrOption = explode(",", $TsOption2);
$arrItem = array();
$num = count($arrOption);
for ($i = 0; $i < $num; $i++) {
for ($i = 0; $i < $num; $i++) {
if ($i==0){
$InfoData->Option2->OptionName = $arrOption[$i];
}else{
$arrItemClass = new stdClass();
$arrItemClass->id = $i-1;
$arrItemClass->value = $arrOption[$i];
$arrItem[$i-1] = $arrItemClass;
$arrItem[$i-1] = $arrItemClass;
}
}
$InfoData->Option2->ItemList = $arrItem;
@ -4029,7 +4112,7 @@ class Information extends CI_Controller
//附加选项
$t_Type = get_meta($information->ic_id, "meta_trippest_type");
$t_Type = get_meta($information->ic_id, "meta_trippest_type"); //产品类型
if ($t_Type) {
$InfoData->t_Type = $t_Type;
} else {
@ -4043,6 +4126,21 @@ class Information extends CI_Controller
$InfoData->t_excludemonth = $t_excludemonth;
$InfoData->t_hoteladdress = get_meta($information->ic_id, "meta_trippest_hoteladdress");
$InfoData->t_defaultDate = get_meta($information->ic_id, "meta_trippest_defaultDate");
$t_Cancellation = get_meta($information->ic_id, "meta_trainspread_Cancellation"); //取消条款类型
if ($t_Cancellation) {
$InfoData->t_Cancellation = $t_Cancellation;
}else{
$InfoData->t_Cancellation = "";
}
$t_CustomCancel = get_meta($information->ic_id, "meta_trainspread_CustomCancel");
if ($t_CustomCancel){
$InfoData->t_CustomCancelText = $t_CustomCancel;
}else{
$InfoData->t_CustomCancelText = "";
}
$DayTripData["InfoData"] = $InfoData; //传递信息平台数据
$linktour = get_meta($information->ic_id, 'meta_trainspread_linktour'); //关联线路
@ -4056,11 +4154,11 @@ class Information extends CI_Controller
$TourData = json_decode(GET_HTTP($apiurl . "/thirdparty/ctmobilefirst/apits/getDaytripDetail/?param=" . $paramCode));
$DayTripData["TourData"] = $TourData;
$TourPrice = json_decode(GET_HTTP($apiurl . "/thirdparty/ctmobilefirst/apits/getDaytripsPrice/?param=" . $paramCode));
$TourPrice = json_decode(GET_HTTP($apiurl . "/thirdparty/ctmobilefirst/apits/getDaytripsPrice/?param=" . $productCode));
if ($TourPrice->status == "ok"){
$DayTripData["DaytripPrice"] = $TourPrice->price;
}else{
$TourPrice = json_decode(GET_HTTP($apiurl . "/thirdparty/ctmobilefirst/apits/getDaytripsPrice/?param=" . $paramCode.",3"));
$TourPrice = json_decode(GET_HTTP($apiurl . "/thirdparty/ctmobilefirst/apits/getDaytripsPrice/?param=" . $productCode.",3"));
$DayTripData["DaytripPrice"] = $TourPrice->price;
}

@ -19,7 +19,7 @@ class Feedback_model extends CI_Model {
from Eva_TAInfo tai
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join Eva_TAGuidePrize tgp on tgp.TGP_TAI_SN = tai.TAI_SN
where TAD_Content is not null
where TAD_Content is not null
and isnull(TAI_DeleteFlag,0) = 0 and isnull(tgp.TGP_CheckState, 0) = 136002
order by tai_getdate desc", $total_limit);
@ -31,7 +31,7 @@ class Feedback_model extends CI_Model {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
$feedback_count = COUNT($feedback_list);
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < $row_limit) {
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < $row_limit) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
@ -54,9 +54,9 @@ class Feedback_model extends CI_Model {
select top 40
tad_content, tai_customerid, tai_title, tai_getdate, tai_url
from Eva_TAInfo tai
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join Eva_TAGuidePrize tgp on tgp.TGP_TAI_SN = tai.TAI_SN
where TAD_Content is not null
where TAD_Content is not null
and isnull(TAI_DeleteFlag,0) = 0 and isnull(tgp.TGP_CheckState, 0) = 136002
order by tai_getdate desc");
@ -68,8 +68,8 @@ class Feedback_model extends CI_Model {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
$feedback_count = COUNT($feedback_list);
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
$feedback = [
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
// 'content' => $feedback_row->tad_content,
@ -87,28 +87,30 @@ class Feedback_model extends CI_Model {
/**
* 根据城市英文名查找最新八条反馈信息
*/
function get_feedback_by_city_list($city_name_list) {
// $feedback_query =
// $this->HT->query("
// select top 40
// tad_content, tai_customerid, tai_title, tai_getdate, tai_url, vci.cii2_name
// from Eva_TAInfo
// left join Eva_TADetail on TAD_TAI_SN=TAI_SN
// left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
// where TAD_Content is not null and vci.cii2_name = ?
// order by tai_getdate desc",
// array($city_name_list[0]));
function get_feedback_by_city_list($city_name_list, $all=TRUE) {
$feedback_query =
$this->HT->query("
select top 40 tai_url,tad_content, tai_customerid, tai_title, tai_getdate, vci.cii2_name
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
where TAD_Content is not null and vci.cii2_name = ? and tai_url not LIKE '%trustpilot.com%'
order by tai_getdate desc",
array($city_name_list[0]));
if ($all) {
$feedback_query =
$this->HT->query("
select top 40 tai_url,tad_content, tai_customerid, tai_title, tai_getdate, vci.cii2_name
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
where TAD_Content is not null and tai_url not LIKE '%trustpilot.com%'
order by tai_getdate desc",
select top 40
tad_content, tai_customerid, tai_title, tai_getdate, tai_url, vci.cii2_name
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
where TAD_Content is not null and vci.cii2_name = ?
order by tai_getdate desc",
array($city_name_list[0]));
}
$first_city_num = $feedback_query->num_rows();
$feedback_result = $feedback_query->result();
@ -120,7 +122,7 @@ class Feedback_model extends CI_Model {
$createdOnString = $createdOn->format('M Y');
$feedback_count = COUNT($feedback_list);
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
@ -134,37 +136,40 @@ class Feedback_model extends CI_Model {
}
$enough_count = 40 - $first_city_num;
if ($enough_count > 0 && count($city_name_list) > 1) {
$feedback_query =
$this->HT->query("
select top ?
tad_content, tai_customerid, tai_title, tai_getdate, tai_url, vci.cii2_name
from Eva_TAInfo
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
where TAD_Content is not null and vci.cii2_name = ? and tai_url not LIKE '%trustpilot.com%'
order by tai_getdate desc",
array($enough_count, $city_name_list[1]));
// $feedback_query =
// $this->HT->query("
// select top ?
// tad_content, tai_customerid, tai_title, tai_getdate, tai_url, vci.cii2_name
// from Eva_TAInfo
// left join Eva_TADetail on TAD_TAI_SN=TAI_SN
// left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
// where TAD_Content is not null and vci.cii2_name = ?
// order by tai_getdate desc",
// array($enough_count, $city_name_list[1]));
if ($all) {
$feedback_query =
$this->HT->query("
select top ?
tad_content, tai_customerid, tai_title, tai_getdate, tai_url, vci.cii2_name
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
where TAD_Content is not null and vci.cii2_name = ?
order by tai_getdate desc",
array($enough_count, $city_name_list[1]));
}
$feedback_result = $feedback_query->result();
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
$feedback_count = COUNT($feedback_list);
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
@ -190,7 +195,7 @@ class Feedback_model extends CI_Model {
// $this->HT->query("
// select top ?
// tad_content, tai_customerid, tai_title, tai_getdate, tai_url, vci.cii2_name
// from Eva_TAInfo
// from Eva_TAInfo
// left join Eva_TADetail on TAD_TAI_SN=TAI_SN
// left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
// where TAD_Content is not null and vci.cii2_name = ?
@ -200,7 +205,7 @@ class Feedback_model extends CI_Model {
$this->HT->query("
select top ?
tad_content, tai_customerid, tai_title, tai_getdate, tai_url, vci.cii2_name
from Eva_TAInfo
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
where TAD_Content is not null and vci.cii2_name = ? and tai_url not LIKE '%trustpilot.com%'
@ -214,8 +219,8 @@ class Feedback_model extends CI_Model {
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
if (!in_array($feedback_row->tai_customerid, $customer_id_list)) {
if (!in_array($feedback_row->tai_customerid, $customer_id_list)) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
@ -238,21 +243,21 @@ class Feedback_model extends CI_Model {
$feedback_query =
$this->HT->query("
select top 3
tad.tad_content,
tai.tai_customerid,
tai.tai_title,
tai.tai_getdate,
tai.tai_url,
tad.tad_content,
tai.tai_customerid,
tai.tai_title,
tai.tai_getdate,
tai.tai_url,
vci.cii2_name
from Eva_TAInfo tai
join Eva_TADetail tad on tad.TAD_TAI_SN = tai.TAI_SN
join V_CIty_Info vci on vci.cii_sn = tai.tai_cii_sn and vci.LGC_LGC = 1
where tad.TAD_SN in (
select TAD_SN
select TAD_SN
from Eva_TADetail e
join V_Operator_Info v on e.TAD_ObjList like '%,' + cast(v.OPI_SN as varchar) + ',%'
where e.TAD_ObjType = 99002
and v.LGC_LGC = 1
where e.TAD_ObjType = 99002
and v.LGC_LGC = 1
and v.OPI2_Name = ?
)
and tai_url not LIKE '%trustpilot.com%'
@ -267,8 +272,8 @@ class Feedback_model extends CI_Model {
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
if (!in_array($feedback_row->tai_customerid, $customer_id_list)) {
if (!in_array($feedback_row->tai_customerid, $customer_id_list)) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
@ -294,10 +299,10 @@ class Feedback_model extends CI_Model {
$sql = "
select top ?
tad_content, tai_customerid, tai_title, tai_getdate, tai_url, vci.cii2_name
from Eva_TAInfo
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
left join V_CIty_Info vci on vci.cii_sn = tai_cii_sn and vci.LGC_LGC = 1
where TAD_Content is not null
where TAD_Content is not null
and tai_url not LIKE '%trustpilot.com%'
";
//根据传递的城市名称进行判断
@ -309,9 +314,9 @@ class Feedback_model extends CI_Model {
// 将每个字符串元素用引号包围,然后用逗号连接起来
$cityList = "'" . implode("','", $cityArray) . "'";
$sql .= "and vci.cii2_name in ($cityList) ";
}
$sql .=" and TAI_GRI_SN in ( select coli_gri_sn from ConfirmLineInfo
}
$sql .=" and TAI_GRI_SN in ( select coli_gri_sn from ConfirmLineInfo
where COLI_OPI_ID in ( select OPI_SN from OperatorInfo where OPI_DEI_SN=18)
and COLI_GRI_SN>'' and isnull(DeleteFlag,0)=0 )
order by tai_getdate desc";
@ -328,8 +333,8 @@ class Feedback_model extends CI_Model {
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
if (!in_array($feedback_row->tai_customerid, $customer_id_list)) {
if (!in_array($feedback_row->tai_customerid, $customer_id_list)) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,

@ -312,7 +312,7 @@ class Apits extends CI_Controller {
$i = 0 ;
$ProductList = array();
foreach ($arrCode as $value) {
$value = trim($value);
//循环读取每条产品的价格列表
$ProductList[$i] = new stdClass();
$ProductList[$i] ->productdetail = $this->apits_model->get_pagdetail($value);

@ -2245,7 +2245,7 @@ $meta_subnavi_arr = array(
onclick="meta('save', '<?php echo $information->ic_id; ?>', 'meta_trippest_limitperson', $('#meta_trippest_limitperson').val())"><i
class="text-muted glyphicon glyphtext-muted glyphicon glyphicon-hdd"></i></a>
<a href="javascript:void(0);" title="产品预订需要的最少人数"><i
class="text-muted glyphicon glyphicon-question-sign"></i></a>
class="text-muted glyphicon glyphicon-question-sign"></i></a></label>
<select name="meta_trippest_limitperson" id="meta_trippest_limitperson" class="form-control">
<option value="0" <?php echo get_meta($information->ic_id, 'meta_trippest_limitperson') === '0' ? 'selected' : false; ?>>
0
@ -2293,6 +2293,7 @@ $meta_subnavi_arr = array(
<a href="javascript:void(0);" title="TP产品预订是否需要录入HotelAddress默认是需要"><i
class="text-muted glyphicon glyphicon-question-sign"></i></a>
<select name="meta_trippest_hoteladdress" id="meta_trippest_hoteladdress" class="form-control">
<option value="" ></option>
<option value="是" <?php echo get_meta($information->ic_id, 'meta_trippest_hoteladdress') === '是' ? 'selected' : false; ?>>
</option>
@ -2310,7 +2311,7 @@ $meta_subnavi_arr = array(
onclick="meta('save', '<?php echo $information->ic_id; ?>', 'meta_trippest_starrating', $('#meta_trippest_starrating').val())"><i
class="text-muted glyphicon glyphtext-muted glyphicon glyphicon-hdd"></i></a>
<a href="javascript:void(0);" title="TP产品星级评分数可以为小数"><i
class="text-muted glyphicon glyphicon-question-sign"></i></a>
class="text-muted glyphicon glyphicon-question-sign"></i></a></label>
<input type="text" name="meta_trippest_starrating" class="form-control"
value="<?php echo get_meta($information->ic_id, 'meta_trippest_starrating'); ?>"
id="meta_trippest_starrating" />
@ -2343,7 +2344,7 @@ $meta_subnavi_arr = array(
onclick="meta('save', '<?php echo $information->ic_id; ?>', 'meta_trippest_defaultDate', $('#meta_trippest_defaultDate').val())"><i
class="text-muted glyphicon glyphtext-muted glyphicon glyphicon-hdd"></i></a>
<a href="javascript:void(0);" title="有些产品开放日期固定,比如水灯节,可设置默认选择.如2025/11/24"><i
class="text-muted glyphicon glyphicon-question-sign"></i></a>
class="text-muted glyphicon glyphicon-question-sign"></i></a></label>
<input type="text" name="meta_trippest_defaultDate" class="form-control"
value="<?php echo get_meta($information->ic_id, 'meta_trippest_defaultDate'); ?>"
id="meta_trippest_defaultDate" />
@ -2400,6 +2401,55 @@ $meta_subnavi_arr = array(
id="meta_trainspread_option2" />
</div>
</div>
<div class="row">
<div class="col-sm-6">
<label>TS取消条款类型
<a href="javascript:void(0);"
onclick="meta('delete', '<?php echo $information->ic_id; ?>', 'meta_trainspread_Cancellation, $('#meta_trainspread_Cancellation').val())"><i
class="text-muted glyphicon glyphtext-muted glyphicon glyphicon-remove"></i></a>
<a href="javascript:void(0);"
onclick="meta('save', '<?php echo $information->ic_id; ?>', 'meta_trainspread_Cancellation', $('#meta_trainspread_Cancellation').val())"><i
class="text-muted glyphicon glyphtext-muted glyphicon glyphicon-hdd"></i></a>
<a href="javascript:void(0);" title="TS取消条款选择类型如果没选默认通用"><i
class="text-muted glyphicon glyphicon-question-sign"></i></a></label>
<select name="meta_trainspread_Cancellation" id="meta_trainspread_Cancellation" class="form-control">
<option value="" <?php echo get_meta($information->ic_id, 'meta_trainspread_Cancellation') === '' ? 'selected' : false; ?>>
通用模板
</option>
<option value="24小时" <?php echo get_meta($information->ic_id, 'meta_trainspread_Cancellation') === '24小时' ? 'selected' : false; ?>>
24小时
</option>
<option value="48小时" <?php echo get_meta($information->ic_id, 'meta_trainspread_Cancellation') === '48小时' ? 'selected' : false; ?>>
48小时
</option>
<option value="72小时" <?php echo get_meta($information->ic_id, 'meta_trainspread_Cancellation') === '72小时' ? 'selected' : false; ?>>
72小时
</option>
<option value="30天" <?php echo get_meta($information->ic_id, 'meta_trainspread_Cancellation') === '30天' ? 'selected' : false; ?>>
30天
</option>
<option value="不可取消" <?php echo get_meta($information->ic_id, 'meta_trainspread_Cancellation') === '不可取消' ? 'selected' : false; ?>>
不可取消
</option>
</select>
</div>
<div class="col-sm-8">
<label>TS自定义取消条款
<a href="javascript:void(0);"
onclick="meta('delete', '<?php echo $information->ic_id; ?>', 'meta_trainspread_CustomCancel', $('#meta_trainspread_CustomCancel').val())"><i
class="text-muted glyphicon glyphicon-remove"></i></a>
<a href="javascript:void(0);"
onclick="meta('save', '<?php echo $information->ic_id; ?>', 'meta_trainspread_CustomCancel', $('#meta_trainspread_CustomCancel').val())"><i
class="text-muted glyphicon glyphicon-hdd"></i></a>
<a href="javascript:void(0);"
title="自定义取消条款,应对特殊的产品,如果录入了这个信息,前面选择的条款类型无效,显示这个。"><i
class="text-muted glyphicon glyphicon-question-sign"></i></a>
</label>
<input type="text" name="meta_trainspread_CustomCancel" class="form-control"
value="<?php echo get_meta($information->ic_id, 'meta_trainspread_CustomCancel'); ?>"
id="meta_trainspread_CustomCancel" />
</div>
</div>
<?php }?>
<!-- 自定义选项 -->

@ -5,8 +5,10 @@
<textarea id="form_additionalrequirements" name="additional_requirements" placeholder="E.g.: This is a big trip for anniversary, honeymoon, birthday celebration..."></textarea>
<div class="selectionBlock">
<h4 style="margin-bottom: 0;margin-top: 0; padding-bottom: 0;">
How would you travel?
<h4 style="margin-bottom: 0;
margin-top: 10px;
font-size: 1.2rem;">
* How would you travel?
</h4>
<div id="group_error_msg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please select number in your group.</div>
@ -37,7 +39,7 @@
</div>
<div id="adultBlock" style="display: none">
<p style="margin-top: 0;margin-bottom: 0;"><strong>Adults number (age ≥ 18 years old)</strong></p>
<p style="margin-top: 0;margin-bottom: 0;">Adults number (age ≥ 18 years old)</p>
<div class="kids_age">
<select class="kids_number" id="adult_18_plus" name="adult_18_plus" >
<option value="0">0</option>
@ -80,7 +82,7 @@
</div>
<div class="clear"></div>
<div id="childrenBlock" style="display: none">
<p style="margin-top: 0;margin-bottom: 0;"><strong>Children number</strong></p>
<p style="margin-top: 0;margin-bottom: 0;">Children number</p>
<div class="kids_age">
<p style="margin-bottom: 5px;">10-17 yrs old</p>
<select class="kids_number" id="teenagerNumber" name="teenager_10_17">
@ -128,49 +130,59 @@
</div>
<div class="selectionBlock">
<h4 style="margin-top: 0; margin-bottom: 0;">
What's your hotel choice?
<h4 style="margin-bottom: 0;
margin-top: 10px;
font-size: 1.2rem;">
* What's your hotel choice?
</h4>
<div class="travel_group date_select">
<div class="travel_group hotel_pick">
<input type="radio" value="Deluxe (5-star &amp; up)" id="Deluxe" name="hotel">
<label for="Deluxe" class="family">
Deluxe<br> (5-star &amp; up)
</label>
</div>
<div class="travel_group date_select">
<div class="travel_group hotel_pick">
<input type="radio" value="Handpicked comfort (4-star)" id="Handpicked" name="hotel">
<label for="Handpicked" class="family">
Selected comfort<br> (4-star)
</label>
</div>
<div class="travel_group date_select">
<div class="travel_group hotel_pick">
<input type="radio" value="Standard (3-star)" id="Standard" name="hotel">
<label for="Standard" class="family">
Standard <br>(3-star)
</label>
</div>
<div class="travel_group hotel_pick">
<input type="radio" value="Self-booking" id="Self" name="hotel">
<label for="Self" class="family" style="padding: 19px 0;">
Self-booking
</label>
</div>
</div>
<div class="selectionBlock" style="margin-bottom: 10px;">
<h4 style="margin-bottom: 0;margin-top: 0; padding-bottom: 0;">
When would you travel?
<h4 style="margin-bottom: 0;
margin-top: 10px;
font-size: 1.2rem;">
* When would you travel?
</h4>
<div id="date_error_msg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Select your travel data.</div>
</div>
<div class="travel_group date_select" >
<div class="date_select" >
<input type="radio" value="exact dates" id="exact" name="trip_date">
<label for="exact" class="updatedestination" style="font-size: 18px;">
Exact dates
</label>
</div>
<div class="travel_group date_select" >
<div class="date_select" >
<input type="radio" value="approximate dates" id="approximate" name="trip_date">
<label for="approximate" class="updatedestination" style="font-size: 18px;">
Approximate dates
</label>
</div>
<div class="travel_group date_select" >
<div class="date_select" >
<input type="radio" value="Undecided dates" id="yet" name="trip_date">
<label for="yet" class="updatedestination" style="font-size: 18px;">
Undecided dates
@ -186,16 +198,6 @@
</div>
<select class="country_code" id="expectedMonth" name="expected_month" style="margin-top: 15px;">
<option value="" disabled selected>Select your approximate travel date.</option>
<option value="Mar. 2024">Mar. 2024</option>
<option value="Apr. 2024">Apr. 2024</option>
<option value="May. 2024">May. 2024</option>
<option value="Jun. 2024">Jun. 2024</option>
<option value="Jul. 2024">Jul. 2024</option>
<option value="Aug. 2024">Aug. 2024</option>
<option value="Sep. 2024">Sep. 2024</option>
<option value="Oct. 2024">Oct. 2024</option>
<option value="Nov. 2024">Nov. 2024</option>
<option value="Dec. 2024">Dec. 2024</option>
<option value="Jan. 2025">Jan. 2025</option>
@ -227,6 +229,14 @@
<option value="Feb. 2027">Feb. 2027</option>
<option value="Mar. 2027">Mar. 2027</option>
<option value="Apr. 2027">Apr. 2027</option>
<option value="May. 2027">May. 2027</option>
<option value="Jun. 2027">Jun. 2027</option>
<option value="Jul. 2027">Jul. 2027</option>
<option value="Aug. 2027">Aug. 2027</option>
<option value="Sep. 2027">Sep. 2027</option>
<option value="Oct. 2027">Oct. 2027</option>
<option value="Nov. 2027">Nov. 2027</option>
<option value="Dec. 2027">Dec. 2027</option>
</select>
</div>
@ -684,9 +694,12 @@ function validateQuickInquiryForm() {
</script>
<style>
.date_select {width: 31% !important;}
.date_select {width: 31%;
float: left;
margin-right: 10px;}
@media (max-width: 750px){
.date_select {width: 47% !important;}
.date_select label {font-size:17px !important;}
.date_select {width: 33% !important; margin-right: 0;}
.hotel_pick {width: 50% !important;}
.date_select label {font-size:17px !important;height: 35px;}
}
</style>

@ -404,7 +404,7 @@
<div class="feature">
<div class="bottompctitle">Featured on</div>
<a href="/about-us/who-recommended"><img src="https://data.chinahighlights.com/grey.gif" loader="lazy"
originalsrc="https://images.chinahighlights.com/allpicture/2024/09/9de0624957ca4a0e9a57c8ca19cdbbe8_cut_1145x85_241_1726758492.jpg"
originalsrc="https://images.asiahighlights.com/allpicture/2025/01/a05ccaf6a9b948b5bfa502b635a834f2_cut_1145x85_241_1736171646.jpg"
alt="We are recommended by these social medias."></a>
</div>

@ -331,8 +331,7 @@
<div class="clear"></div>
<div class="featureon" style="margin-bottom: 50px;">
<span class="followtitle">Featured on</span>
<a href="/about-us/who-recommended"> <img src="https://data.chinahighlights.com/grey.gif" loader="lazy"
originalsrc="https://images.chinahighlights.com/allpicture/2024/09/4954bbb94a4a42e5864192dff2a134f6_cut_600x180_241_1726758550.jpg"
<a href="/about-us/who-recommended"> <img src="https://images.asiahighlights.com/allpicture/2025/01/a944ea91e95f4076816ce74d1cc29b7b_cut_600x182_241_1736171562.jpg"
alt="We are recommended by these social medias." class="img-responsive"></a>
</div>

@ -2,7 +2,7 @@
<?php foreach ($feedback_list as $index => $feedback) {?>
<div class="feedback_content">
<strong style="height: auto;"><?php echo $feedback['title'] ?></strong>
<img src="<?php if (strpos($feedback['url'], 'productreview.com') == true) { echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png'; } else if (strpos($feedback['url'], 'tripadvisor.com') == true) { echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png'; } ?>" style="height: 15px; width: auto;" alt="review rating">
<img src="<?php if (strpos($feedback['url'], 'productreview.com') == true) { echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png'; } else if (strpos($feedback['url'], 'tripadvisor.com') == true) { echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png'; } ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p style="height:auto;"><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>

@ -8,7 +8,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>
@ -27,7 +27,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>
@ -46,7 +46,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>
@ -65,7 +65,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>
@ -84,7 +84,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>
@ -103,7 +103,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>
@ -122,7 +122,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>
@ -141,7 +141,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>
@ -160,7 +160,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>
@ -179,7 +179,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>
@ -198,7 +198,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>
@ -217,7 +217,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>
@ -236,7 +236,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="review rating">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="review rating">
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank" rel="nofollow">More</a>
<div class="customer_name"><?php echo $feedback['customer'] ?>, <?php echo $feedback['createdOn'] ?></div>

@ -19,7 +19,7 @@
echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png';
} else if (strpos($feedback['url'], 'tripadvisor.com') == true) {
echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png';
} ?>" style="height: 15px; width: auto;" alt="Tour Review">
} ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="Tour Review">
<p>
<?php echo $feedback['content'] ?>
</p>

@ -18,7 +18,7 @@
<strong>
<?php echo $feedback['title'] ?>
</strong>
<p class="feedback_rating"><img src="<?php if (strpos($feedback['url'], 'productreview.com') == true) { echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png'; } else if (strpos($feedback['url'], 'tripadvisor.com') == true) { echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png'; } ?>" style="height: 15px; width: auto;" alt="tour review rating"></p>
<p class="feedback_rating"><img src="<?php if (strpos($feedback['url'], 'productreview.com') == true) { echo 'https://images.chinahighlights.com/allpicture/2024/12/5d3e8dc0f9504ade809391dd191c30d0_cut_100x18_241_1733390430.png'; } else if (strpos($feedback['url'], 'tripadvisor.com') == true) { echo 'https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png'; } ?>" style="height: 15px; width: auto;filter: brightness(170%);" alt="tour review rating"></p>
<p>
<?php echo $feedback['content'] ?>
</p>

@ -5,7 +5,7 @@
<div class="feedback_content" style="box-shadow: 0px 0px 8px 2px #d1d1d1;">
<div class="photoBlock300" style="width: auto;"><img alt="Trip Advisor travelers' choice 2024" src="https://images.asiahighlights.com/allpicture/2024/12/548c9984fbf9410a912fe678fcf4b05e_cut_181x215_241_1733311371.png" width="100" class="img-responsive" ></div>
<p><strong><?php echo $feedback_data['title'] ?></strong></p>
<img alt="" class="feedback-rate" src="https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png" width="104" height="20" alt="trip advisor rating"><div class="review_date">reviewed <?php echo $feedback_data['createdOn'] ?>, <?php echo $feedback_data['customer'] ?></div>
<img alt="" class="feedback-rate" src="https://images.chinahighlights.com/allpicture/2024/12/c81b67573a2d40d6922e95b33aeaf03d_cut_80x14_241_1733323252.png" width="104" height="20" alt="trip advisor rating" style="filter: brightness(170%);"><div class="review_date">reviewed <?php echo $feedback_data['createdOn'] ?>, <?php echo $feedback_data['customer'] ?></div>
<p><?php echo $feedback_data['content'] ?>&nbsp;<a href="<?php echo $feedback_data['url'] ?>" target="_blank" rel="nofollow">more</a></p>
</div>
</div>

@ -1,48 +1,53 @@
<div class="topcontent">
<section>
<div class="infocategory">
<a href="/" data-count="<?php echo count($breadcrumb_data) ?>">Home</a>
<?php foreach ($breadcrumb_data as $index => $item) {?>
<a href="<?php echo $item['ic_url'] ?>" data-index="<?php echo $index ?>" data-is-id="<?php echo $item['is_id'] ?>"><?php echo $item['ic_url_title'] ?></a>
<?php if (!empty($ic_photo)) { ?>
<img src="<?php echo $ic_photo; ?>"
alt="<?php echo !empty($ic_title)?$ic_title:'H1 title Chinahighlights mobile first template'; ?>" class="img-responsive" fetchpriority="high" layout="responsive">
<?php } ?>
<div class="top_image_bg">
<img src="https://images.chinahighlights.com/allpicture/2025/01/536711093adb4ad1b21a0c5d379663b0_cut_478x219_241_1735918244.png" class="img-responsive">
<?php if ($ads_by_google) { ?>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4231674166786366"
crossorigin="anonymous"></script>
<?php } ?>
</div>
</div>
<div class="infocategory">
<a href="/" data-count="<?php echo count($breadcrumb_data) ?>">Home</a>
<?php foreach ($breadcrumb_data as $index => $item) {?>
<a href="<?php echo $item['ic_url'] ?>" data-index="<?php echo $index ?>" data-is-id="<?php echo $item['is_id'] ?>"><?php echo $item['ic_url_title'] ?></a>
<?php }?>
</div>
<h1><?php echo !empty($ic_title)?$ic_title:'H1 title Chinahighlights mobile first template'; ?></h1>
<?php
$OPI_CodeUrls = [
'zzy' => 'https://www.globalhighlights.com/aboutus/team/ruru-zhou',
'2' => 'https://www.globalhighlights.com/aboutus/team/ruru-zhou',
'HWT' => 'https://www.globalhighlights.com/aboutus/team/mike-he',
'CA' => 'https://www.globalhighlights.com/aboutus/team/carol-wang',
'SI' => 'https://www.globalhighlights.com/aboutus/team/simon-huang',
'TJQ' => 'https://www.globalhighlights.com/aboutus/team/cindy-tang',
'CLA' => 'https://www.globalhighlights.com/aboutus/team/claire-wang',
'Albee' => 'https://www.globalhighlights.com/aboutus/team/albee-ning',
'KM' => 'https://www.globalhighlights.com/aboutus/team/kimi-huang',
'RY' => 'https://www.globalhighlights.com/aboutus/team/rita-yu',
'QMY' => 'https://www.globalhighlights.com/aboutus/team/chris-quan',
'CY' => 'https://www.globalhighlights.com/aboutus/team/cynthia-li',
'Vicky' => 'https://www.globalhighlights.com/aboutus/team/vicky-leng',
'LXW' => 'https://www.globalhighlights.com/aboutus/team/carper-li',
'zzyGH' => 'https://www.globalhighlights.com/aboutus/team/ruru-zhou',
];
$OPI_Code = empty($OPI_Code) ? '' : $OPI_Code;
if (!empty($meta_news_createdate)) {?>
<div class="authorupdate">
Written by
<?php if (array_key_exists($OPI_Code, $OPI_CodeUrls)) {?>
<strong><a href="<?php echo $OPI_CodeUrls[$OPI_Code]; ?>" target="_blank"><?php echo $author; ?></a></strong>
<?php } else { ?>
<strong><?php echo $author; ?></strong>
<?php }?>
Updated <?php echo date("M. j, Y", strtotime($meta_news_createdate)); ?>
</div>
<h1><?php echo !empty($ic_title)?$ic_title:'H1 title Chinahighlights mobile first template'; ?></h1>
<!--<p class="subheadline">to do</p> -->
<?php
$OPI_CodeUrls = [
'zzy' => 'https://www.globalhighlights.com/aboutus/team/ruru-zhou',
'2' => 'https://www.globalhighlights.com/aboutus/team/ruru-zhou',
'HWT' => 'https://www.globalhighlights.com/aboutus/team/mike-he',
'CA' => 'https://www.globalhighlights.com/aboutus/team/carol-wang',
'SI' => 'https://www.globalhighlights.com/aboutus/team/simon-huang',
'TJQ' => 'https://www.globalhighlights.com/aboutus/team/cindy-tang',
'CLA' => 'https://www.globalhighlights.com/aboutus/team/claire-wang',
'Albee' => 'https://www.globalhighlights.com/aboutus/team/albee-ning',
'KM' => 'https://www.globalhighlights.com/aboutus/team/kimi-huang',
'RY' => 'https://www.globalhighlights.com/aboutus/team/rita-yu',
'QMY' => 'https://www.globalhighlights.com/aboutus/team/chris-quan',
'CY' => 'https://www.globalhighlights.com/aboutus/team/cynthia-li',
'Vicky' => 'https://www.globalhighlights.com/aboutus/team/vicky-leng',
'LXW' => 'https://www.globalhighlights.com/aboutus/team/carper-li',
'zzyGH' => 'https://www.globalhighlights.com/aboutus/team/ruru-zhou',
];
$OPI_Code = empty($OPI_Code) ? '' : $OPI_Code;
if (!empty($meta_news_createdate)) {?>
<div class="authorupdate">
Written by
<?php if (array_key_exists($OPI_Code, $OPI_CodeUrls)) {?>
<strong><a href="<?php echo $OPI_CodeUrls[$OPI_Code]; ?>" target="_blank"><?php echo $author; ?></a></strong>
<?php } else { ?>
<strong><?php echo $author; ?></strong>
<?php }?>
Updated <?php echo date("M. j, Y", strtotime($meta_news_createdate)); ?>
</div>
<?php } ?>
<?php if ($ads_by_google) { ?>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4231674166786366"
crossorigin="anonymous"></script>
<?php } ?>
</section>
</div>
<?php } ?>

@ -1,3 +1,5 @@
<?php if (!empty($ic_photo)) { ?>
<div class="infotopimage">
<img src="<?php echo 'https://images.chinahighlights.com'.$ic_photo; ?>" alt="<?php echo !empty($ic_title)?$ic_title:'H1 title Chinahighlights mobile first template'; ?>" class="img-responsive">
</div>
<?php } ?>

@ -1,5 +1,5 @@
<div class="tmbottom">
<h3 style="font-size: 23px;">Your 1:1 travel consultant will reply within 1 working day.</h3>
<h3 style="font-size: 23px; padding-top: 15px;">Your 1:1 travel consultant will reply within 1 working day.</h3>
<form action="https://www.chinahighlights.com/secureforms/qi_save" id="quick_inquiry_form" method="post"
name="quick_inquiry_form" novalidate="">
<div class="InquiryBox">
@ -7,7 +7,7 @@
placeholder="E.g.: This is a big trip for anniversary, honeymoon, birthday celebration..."></textarea>
<div class="selectionBlock">
<p style=" text-align: left; font-weight: 400; padding-bottom: 0;">
Number in your group
* Number in your group
</p>
<div id="group_error_msg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please select number in your group.</div>
@ -38,7 +38,7 @@
</div>
<div id="adultBlock" style="display: none">
<p style=" margin-bottom: 10px;"><strong>Adults number (age ≥ 18 years old)</strong></p>
<p style=" margin-bottom: 10px; font-size: 17px;">Adults number (age ≥ 18 years old)</p>
<div class="kids_age">
<select class="kids_number" id="adult_18_plus" name="adult_18_plus">
@ -82,7 +82,7 @@
</div>
<div class="clear"></div>
<div id="childrenBlock" style="display: none">
<p style="margin-bottom: 10px;"><strong>Children number</strong></p>
<p style="margin-bottom: 10px; font-size: 17px;">Children number</p>
<div class="kids_age">
<p style="margin-bottom: 5px;">10-17 yrs old</p>
<select class="kids_number" id="teenagerNumber" name="teenager_10_17">
@ -131,7 +131,7 @@
<div class="selectionBlock">
<p style=" text-align: left; font-weight: 400; padding-bottom: 0;">
What's your hotel choice?
* What's your hotel choice?
</p>
<div id="group_error_msg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please select your hotel style.</div>
@ -154,20 +154,26 @@
Standard <em>(3 stars)</em>
</label>
</div>
<div class="hotel_group">
<input type="radio" value="Self-booking" id="Self" name="hotel">
<label for="Self" class="hotel_pick" style="padding: 20px 3px;">
Self-booking</em>
</label>
</div>
</div>
<input class="InquiryCalendar" data-min-date="" id="starting_date" name="date_start"
placeholder="Starting date" readonly="readonly" type="text" /><span id="starting_date_errmsg"
placeholder="* Starting date" readonly="readonly" type="text" /><span id="starting_date_errmsg"
style="display: none"><span class="requiredArea">Please enter your starting date.</span></span>
<input class="FullName" id="realname" name="name" placeholder="Your name" type="text" />
<input class="FullName" id="realname" name="name" placeholder="* Your name" type="text" />
<span id="realname_errmsg" style="display: none"><span class="requiredArea">Please enter your
name.</span></span>
<input class="EmailAddress" id="email" name="email" placeholder="Email" type="text" />
<input class="EmailAddress" id="email" name="email" placeholder="* Email" type="text" />
<span id="email_errmsg" style="display: none"><span class="requiredArea">Please enter your
email.</span></span>
<span id="email_verify_errmsg" style="display: none"><span class="requiredArea">Please verify your
@ -432,7 +438,7 @@
<option value="Zimbabwe +263">Zimbabwe&nbsp; &nbsp;+263</option>
<option value="Åland Islands +385">Åland Islands&nbsp; &nbsp;+35818</option>
</select>
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo" placeholder="Phone number *" type="tel" />
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo" placeholder="* Phone number" type="tel" />
<span id="phone_errmsg" style="display: none"><span class="requiredArea">Please enter your phone
number.</span></span>

@ -348,10 +348,8 @@
</div>
</div>
</header>
<!--@HEAD_1@-->
<div class="main_content">
<!--@HEAD_1@-->
<div id="main_content_pc">
<div class="pc_content">
@ -586,7 +584,7 @@
<div class="bottompctitle">Featured on</div>
<a href="/aboutus/who-recommended.htm">
<img src="https://data.chinahighlights.com/grey.gif" loader="lazy"
originalsrc="https://images.chinahighlights.com/allpicture/2024/09/9de0624957ca4a0e9a57c8ca19cdbbe8_cut_1145x85_241_1726758492.jpg"
originalsrc="https://images.asiahighlights.com/allpicture/2025/01/a05ccaf6a9b948b5bfa502b635a834f2_cut_1145x85_241_1736171646.jpg"
alt="China Highlights was featured on these medias."></a>
</div>

@ -577,8 +577,7 @@
<div class="featureon">
<span class="followtitle">Featured on</span>
<a href="/aboutus/who-recommended.htm"> <img src="https://data.chinahighlights.com/grey.gif" loader="lazy"
originalsrc="https://images.chinahighlights.com/allpicture/2024/09/4954bbb94a4a42e5864192dff2a134f6_cut_600x180_241_1726758550.jpg"
<a href="/aboutus/who-recommended.htm"> <img src="https://images.asiahighlights.com/allpicture/2025/01/a944ea91e95f4076816ce74d1cc29b7b_cut_600x182_241_1736171562.jpg"
alt="China Higlights is recommended by this social medias." class="img-responsive"></a>
</div>

@ -136,7 +136,7 @@
<li><a href="/culture">Culture<i class="fa fa-angle-down" aria-hidden="true"></i></a>
<ul>
<span class="container">
<li><a href="/chinese-zodiac">Chinese Zodiac</a></li>
<li><a href="/culture/chinese-zodiac">Chinese Zodiac</a></li>
<li><a href="/chinese-new-year">Chinese New Year</a></li>
<li><a href="/culture/top-chinese-festival">Chinese Festivals</a></li>
<li><a href="/chinese-food">Chinese Food </a></li>

@ -119,7 +119,7 @@
</ul>
<!-- Culture -->
<ul data-menu="submenu-5" id="submenu-5" class="menu__level" tabindex="-1" role="menu" aria-label="culture">
<li class="menu__item" role="menuitem"><a class="menu__link" href="/chinese-zodiac">Chinese Zodiac</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/culture/chinese-zodiac">Chinese Zodiac</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/chinese-new-year">Chinese New Year</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/culture/top-chinese-festival">Chinese Festivals</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/chinese-food">Chinese Food</a></li>
@ -148,7 +148,7 @@
<li><a href="/guide/visa">China Visa</a></li>
<li><a href="/great-wall-of-china">Great Wall of China</a></li>
<li><a href="/tour/panda-tour">China Panda</a></li>
<li><a href="/chinese-zodiac">Chinese Zodiac</a></li>
<li><a href="/culture/chinese-zodiac">Chinese Zodiac</a></li>
</ul>
</div>
</div>

@ -404,7 +404,7 @@
<div class="feature">
<div class="bottompctitle">Featured on</div>
<a href="/who-recommended.htm"><img src="https://data.chinahighlights.com/grey.gif" loader="lazy"
originalsrc="https://images.chinahighlights.com/allpicture/2024/09/9de0624957ca4a0e9a57c8ca19cdbbe8_cut_1145x85_241_1726758492.jpg"
originalsrc="https://images.asiahighlights.com/allpicture/2025/01/a05ccaf6a9b948b5bfa502b635a834f2_cut_1145x85_241_1736171646.jpg"
alt="We are recommended by these social medias."></a>
</div>

@ -7,8 +7,8 @@
placeholder="E.g.: This is a big trip for anniversary, honeymoon, birthday celebration..."
style="margin-bottom:20px;"></textarea>
<div class="selectionBlock">
<h4 style="margin-bottom: 0;margin-top: 0; font-weight: 400;">
How would you travel?
<h4 style="margin-bottom: 0;margin-top: 0; font-size: 1.2rem; font-weight: 400;">
* How would you travel?
</h4>
<div id="group_error_msg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please select number in your group.</div>
@ -38,7 +38,7 @@
</label>
</div>
<div id="adultBlock" style="display: none">
<p style="margin-bottom: 5px;"><strong>Adults number (age ≥ 18 years old)</strong></p>
<p style="margin-bottom: 5px;">Adults number (age ≥ 18 years old)</p>
<div class="kids_age">
@ -82,7 +82,7 @@
</div>
<div class="clear"></div>
<div id='childrenBlock' style="display: none">
<p style="margin-bottom: 5px;"><strong>Children number (age of children at time of trip)</strong></p>
<p style="margin-bottom: 5px;">Children number (age of children at time of trip)</p>
<div class="kids_age">
<p style="margin-bottom: 5px;">10-17 yrs old</p>
<select class="kids_number" id="teenagerNumber" name="teenager_10_17">
@ -138,26 +138,56 @@
</div>
</div>
</div>
<div class="selectionBlock">
<h4 style="margin-top: 0; margin-bottom: 0;font-weight: 400;">
When would you travel?
<h4 style="margin-top: 0; margin-bottom: 0;font-size: 1.2rem;font-weight: 400;">
* What's your hotel choice?
</h4>
<div class="travel_group hotel_pick">
<input type="radio" value="Luxury (5 stars & up)" id="Luxury" name="hotel">
<label for="Luxury" class="family">
Luxury<br> <em>(5 stars & up)</em>
</label>
</div>
<div class="travel_group hotel_pick">
<input type="radio" value="Handpicked Comfort (4-5 stars)" id="Handpicked" name="hotel">
<label for="Handpicked" class="couple">
Handpicked Comfort<br> <em>(4-5 stars)</em>
</label>
</div>
<div class="travel_group hotel_pick">
<input type="radio" value="Standard (3 stars)" id="Standard" name="hotel">
<label for="Standard" class="solo">
Standard<br> <em>(3 stars)</em>
</label>
</div>
<div class="travel_group hotel_pick">
<input type="radio" value="Self-booking" id="Self" name="hotel">
<label for="Self" class="solo" style="padding: 19px 0;">
Self-booking
</label>
</div>
</div>
<div class="selectionBlock">
<h4 style="margin-top: 0; margin-bottom: 0;font-size: 1.2rem;font-weight: 400;">
* When would you travel?
</h4>
<div id="date_error_msg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Select your travel data.</div>
</div>
<div class="travel_group date_select">
<input type="radio" value="Exact travel dates" id="exact" name="trip_date">
<div class="date_select">
<input type="radio" value="Exact travel dates" id="exact" name="trip_date" placeholder="Please select your exact travel date.">
<label for="exact" class="family">
Exact dates
</label>
</div>
<div class="travel_group date_select">
<input type="radio" value="Approximate travel dates" id="approximate" name="trip_date">
<div class="date_select">
<input type="radio" value="Approximate travel dates" id="approximate" name="trip_date" placeholder="Please select your approximate travel date.">
<label for="approximate" class="couple">
Approximate dates
</label>
</div>
<div class="travel_group date_select">
<div class="date_select">
<input type="radio" value="Undecided travel dates" id="yet" name="trip_date">
<label for="yet" class="solo">
Undecided dates
@ -173,15 +203,6 @@
<select class="country_code" id="expectedMonth" name="expected_month">
<option value="" disabled selected>Select your approximate travel date.</option>
<option value="Mar. 2024">Mar. 2024</option>
<option value="Apr. 2024">Apr. 2024</option>
<option value="May. 2024">May. 2024</option>
<option value="Jun. 2024">Jun. 2024</option>
<option value="Jul. 2024">Jul. 2024</option>
<option value="Aug. 2024">Aug. 2024</option>
<option value="Sep. 2024">Sep. 2024</option>
<option value="Oct. 2024">Oct. 2024</option>
<option value="Nov. 2024">Nov. 2024</option>
<option value="Dec. 2024">Dec. 2024</option>
<option value="Jan. 2025">Jan. 2025</option>
@ -213,34 +234,20 @@
<option value="Feb. 2027">Feb. 2027</option>
<option value="Mar. 2027">Mar. 2027</option>
<option value="Apr. 2027">Apr. 2027</option>
<option value="Apr. 2027">Apr. 2027</option>
<option value="May. 2027">May. 2027</option>
<option value="Jun. 2027">Jun. 2027</option>
<option value="Jul. 2027">Jul. 2027</option>
<option value="Aug. 2027">Aug. 2027</option>
<option value="Sep. 2027">Sep. 2027</option>
<option value="Oct. 2027">Oct. 2027</option>
<option value="Nov. 2027">Nov. 2027</option>
<option value="Dec. 2027">Dec. 2027</option>
</select>
</div>
</div>
</div>
<div class="selectionBlock">
<h4 style="margin-top: 0; margin-bottom: 0;font-weight: 400;">
What's your hotel choice?
</h4>
<div class="travel_group date_select">
<input type="radio" value="Luxury (5 stars & up)" id="Luxury" name="hotel">
<label for="Luxury" class="family">
Luxury<br> <em>(5 stars & up)</em>
</label>
</div>
<div class="travel_group date_select">
<input type="radio" value="Handpicked Comfort (4-5 stars)" id="Handpicked" name="hotel">
<label for="Handpicked" class="couple">
Handpicked Comfort<br> <em>(4-5 stars)</em>
</label>
</div>
<div class="travel_group date_select">
<input type="radio" value="Standard (3 stars)" id="Standard" name="hotel">
<label for="Standard" class="solo">
Standard<br> <em>(3 stars)</em>
</label>
</div>
</div>
<p><input class="FullName" data-required="Please enter your fullname" id="realname" name="name"
placeholder="Your name *" type="text"></p>

@ -385,8 +385,7 @@
<div class="featureon">
<span class="followtitle">Featured on</span>
<a href="/who-recommended.htm"><img src="https://data.chinahighlights.com/grey.gif" loader="lazy"
originalsrc="https://images.chinahighlights.com/allpicture/2024/09/4954bbb94a4a42e5864192dff2a134f6_cut_600x180_241_1726758550.jpg"
<a href="/who-recommended.htm"><img src="https://images.asiahighlights.com/allpicture/2025/01/a944ea91e95f4076816ce74d1cc29b7b_cut_600x182_241_1736171562.jpg"
alt="We are recommended by these social medias." class="img-responsive"></a>
</div>

@ -7,7 +7,7 @@
<?php } ?>
<div class="tourspic-text">
<ul>
<li><span class="duration"></span><?php echo $TourData->PAG_NeedTime ==""?"":"Duration:".$TourData->PAG_NeedTime." hours" ?></li>
<li><span class="duration"></span><?php if (isset($TourData->PAG_NeedTime) && $TourData->PAG_NeedTime!="") { echo "Duration:".$TourData->PAG_NeedTime." hours";} ?></li>
<li><span class="departure"></span>Departure:Daily</li>
<li><span class="travelers"></span><?php echo $InfoData->MinTravelers>0?"Min Travelers:".$InfoData->MinTravelers." Pax" : "Min Travelers:NO Limit" ?></li>
</ul>
@ -285,7 +285,7 @@
<div class="grade-btn">
<a href="javascript:;" class="btn btn-red block js_select" role="button">Book now</a>
<input type="hidden" class="js_PAG_Code" value="<?php echo $Item->productdetail->PAG_Code ?>" />
<?php
<?php //传递参数
$selectItemData = new stdClass();
$selectItemData->PAG_SN = $Item->productdetail->PAG_SN;
$selectItemData->PAG_Code = $Item->productdetail->PAG_Code;
@ -296,6 +296,9 @@
$selectItemData->t_Type = $InfoData->t_Type;
$selectItemData->t_hoteladdress = $InfoData->t_hoteladdress; //是否需要酒店
$selectItemData->PAG_Name = $TITLE; //大标题
$selectItemData->t_CustomCancel = $InfoData->t_CustomCancelText;
$selectItemData->t_Cancellation = $InfoData->t_Cancellation;
?>
<input type="hidden" class="js_selectItemData" value="<?php echo htmlspecialchars(json_encode($selectItemData)) ?>" />
<input type="hidden" class="js_totalPrice" value="0" />

@ -11,8 +11,7 @@
<?php if (in_array($productType, array("customize", "contactus", "cruiseform", "daytripform"))) { // 预订表单不显示
?>
<meta name="robots" content="noindex,nofollow">
<?php } else { ?>
<meta name="keywords" content="<?php echo $KEYWORDS ?>">
<?php } else { ?>
<meta name="description" content="<?php echo $DESCRIPTION ?>">
<!--@OG:IMAGE@--><?php echo $OGIMAGE ?>
<?php } ?>
@ -40,7 +39,7 @@
<div class="top-box">
<div class="topsearch">
<form id="cse-search-box" name="googlesreach" action="/search">
<input type="hidden" name="cx" value="016808570474272112209:2xv5z3olaus">
<input type="hidden" name="cx" value="e2d891a2076ac43b7">
<input type="hidden" name="cof" value="FORID:11">
<div class="relative">
<input type="text" class="siteser" placeholder="Site Search..." name="q">
@ -52,7 +51,7 @@
<div class="topcontact">
<ul>
<li><a href="mailto:service@chinatravel.com" rel="nofollow"><i class="fa fa-envelope-o" aria-hidden="true"></i>service@chinatravel.com</a></li>
<li><i class="fa fa-envelope-o" aria-hidden="true"></i>86-773-286-5632 (Intl rates apply)</li>
<li><i class="fa fa-phone" aria-hidden="true"></i>86-773-286-5632 (Intl rates apply)</li>
</ul>
</div>
</div>
@ -90,7 +89,7 @@
</main>
<!---mian end---->
<?php if (!in_array($productType,array("customize","contactus"))) { // 预订表单不显示 ?>
<?php echo $FloatIcon ?>
<!---tailor made star---->
<div class="content-tm">
<div class="">
@ -149,7 +148,7 @@ eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a
<!--@IN-ARTICLE-GOOGLE@-->
<!--@ADDTHIS-WIDGET@--><?php echo $addthis_widget ?>
<!--@PASSPARAM@--><?php echo $passParam ?>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3275214174607898" crossorigin="anonymous"></script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],

@ -5,9 +5,9 @@
<p class="trainSear-title">China Train Ticket Service</p>
<div class="searchBox autocomplete" id="searchbox">
<ul class="nav nav-tabs" id="navtraintop">
<ul class="nav nav-tabs" id="navtraintop" style="display:none;">
<li role="presentation" class="mainland active"><a href="javascript:;">China Train</a></li>
<li role="presentation" class="intel" style="display:none;"><a href="javascript:;">Asia Trains</a></li>
<li role="presentation" class="intel"><a href="javascript:;">Asia Trains</a></li>
</ul>
<form action="https://www.trainspread.com/trains/search_result/" method="POST" name="ZZform1"
@ -18,12 +18,12 @@
<div class="flex-row">
<div class="flex-col-3">
<input name="Txt_FZ_1" id="Txt_FZ_1" type="text" class="inputBox form-control" autocomplete="off"
placeholder="From">
placeholder="From" value="<?php echo isset($from)?$from:"" ?>">
<input default="" id="Code_Txt_FZ_1" name="Code_Txt_FZ_1" type="hidden" value="" />
</div>
<div class="flex-col-3">
<input name="Txt_DZ_1" id="Txt_DZ_1" type="text" class="inputBox form-control" autocomplete="off"
placeholder="To">
placeholder="To" value="<?php echo isset($to)?$to:"" ?>">
<input default="" id="Code_Txt_DZ_1" name="Code_Txt_DZ_1" type="hidden" value="" />
</div>
<div class="flex-col-3">
@ -86,7 +86,7 @@
</div>
</div>
<link href="http://202.103.68.104:71/css/flatpickr.css" rel="stylesheet" type="text/css" />
<link href="http://202.103.68.104:71/js/mobile-first/train/train-search.css" rel="stylesheet" type="text/css" />
<link href="https://www.trainspread.com/css/flatpickr.css" rel="stylesheet" type="text/css" />
<link href="https://www.trainspread.com/js/mobile-first/train/train-search.css" rel="stylesheet" type="text/css" />
<script defer type="text/javascript" src="https://data.chinahighlights.com/js/train/StationInfo.js"></script>
<script src="http://202.103.68.104:71/js/mobile-first/train/train.js" ></script>
<script src="https://www.trainspread.com/js/mobile-first/train/train.js" ></script>

@ -11,7 +11,6 @@
<?php if (in_array($productType,array("customize","contactus","cruiseform","daytripform"))) { // 预订表单不显示 ?>
<meta name="robots" content="noindex,nofollow">
<?php } else { ?>
<meta name="keywords" content="<?php echo $KEYWORDS ?>">
<meta name="description" content="<?php echo $DESCRIPTION ?>">
<!--@OG:IMAGE@--><?php echo $OGIMAGE ?>
<?php } ?>
@ -35,7 +34,7 @@
<!--header-->
<header class="headerbar flex justify-start items-center top-0 left-0 right-0 pl2 pr4 pt2 md-pt0" id="header">
<div role="button" tabindex="0" class="mobile-top">
<a href="/" class="toplogo"><img src="https://data.trainspread.com/css/images/logo.png" alt="trainspread logo" width="200" height="37" class="img-responsive"></a>
<a href="/" class="toplogo"><img src="https://data.trainspread.com/css/images/logo.png" alt="trainspread logo" width="180" height="37" class="img-responsive"></a>
<div class="topnavitailor">
<a href="javascript:;" class="mobile-ser search--open" aria-label="SearchOpen"><i class="fa fa-search" aria-hidden="true"></i></a>
<a href="#modal-cell"><em class="fa fa-phone"></em></a>
@ -96,7 +95,7 @@
<button class="action search--close" aria-label="Close Menu"><span class="icon icon--cross"></span></button>
<div class="siteSearch">
<form id="cse-search-box" name="googlesreach" action="/search">
<input type="hidden" value="016808570474272112209:2xv5z3olaus" name="cx">
<input type="hidden" value="e2d891a2076ac43b7" name="cx">
<input type="hidden" value="FORID:11" name="cof">
<input type="text" onfocus="this.value = ''" class="strkeys" placeholder="site search" name="q">
<button type="submit" class="submits" name="searchbtn" aria-label="Search"><i class="fa fa-search" aria-hidden="true"></i></button>
@ -121,7 +120,7 @@
</main>
<!--main end-->
<?php if (!in_array($productType,array("customize","contactus"))) { // 预订表单不显示 ?>
<?php echo $FloatIcon ?>
<!---tailor made star---->
<div class="content-tm">
<div class="content-tm-info">
@ -191,6 +190,17 @@
<!--@IN-ARTICLE-GOOGLE@-->
<!--@ADDTHIS-WIDGET@--><?php echo $addthis_widget ?>
<!--@PASSPARAM@--><?php echo $passParam ?>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-W56MSQ3');</script>
<!-- End Google Tag Manager -->
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W56MSQ3"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
</body>
</html>
Loading…
Cancel
Save