Merge branch 'master' of github.com:hainatravel/information-system

hotfix/paypal-note
LMR 3 years ago
commit 8e5eaf0e37

@ -689,6 +689,9 @@ class Information extends CI_Controller
array('information' => $information),
true);
$template = str_replace('<!--@INFO-TOP-IMAGE@-->', $article_top_image_content, $template);
$info_page_form_content = $this->load->view($template_path . '-info-page-form', false, true);
$information->ic_content = str_replace('<!--@INFO-PAGE-FORM@-->', $info_page_form_content, $information->ic_content);
} else {
$template = str_replace('<!--@PRODUCT-JS@-->', '<script src="https://data.chinahighlights.com/js/flatpickr.js"></script>', $template);
$inquiry_form_template = $this->load->view($template_path . '-inquiry-form', array('meta_product_code' => $meta_product_code), true);
@ -1050,6 +1053,8 @@ class Information extends CI_Controller
$template_path . '-why-us-covid-mobile', array(), true);
$information->ic_content = str_replace('<!--@WHY-US-COVID-MOBILE@-->', $why_us_covid_list_mobile, $information->ic_content);
$info_page_form_content = $this->load->view($template_path . '-info-page-form', false, true);
$information->ic_content = str_replace('<!--@INFO-PAGE-FORM@-->', $info_page_form_content, $information->ic_content);
if (is_file('D:/wwwroot/origin-www.globalhighlights.com/css/gh-global.css')) {//主样式表,内联模式,优先读取本地,没有在从网络读取,为了加速
$main_css_string = compress_css(file_get_contents('D:/wwwroot/origin-www.globalhighlights.com/css/gh-global.css'));
@ -1153,7 +1158,19 @@ class Information extends CI_Controller
$data['meta_addon_picture_url'] = get_meta($information->ic_id, 'meta_addon_picture_url');
}
$breadcrumb_data = $this->Information_model->get_path_exclude_self($information->is_id, $information->is_path);
// AH Home 下层节点名称和链接映射
$group_map = [
278002667 => [
'ic_url' => '/destinations',
'ic_url_title' => 'Destinations'
],
278008885 => [
'ic_url' => '/about-us',
'ic_url_title' => 'About us'
]
];
$breadcrumb_data = $this->Information_model->get_breadcrumb_data($information->is_id, $information->is_path, $group_map);
$ads_by_google = !empty(get_meta($information->ic_id, 'meta_google_ad_article'));
$data['ads_by_google'] = $ads_by_google;
$author = $this->Operator_model->get_author_nikename($information->ic_author); //获取作者信息
@ -1211,9 +1228,6 @@ class Information extends CI_Controller
if (empty($meta_product_code)) {
$addthis_widget = $this->load->view($template_path . '-add-this', false, true);
$template = str_replace('<!--@ADDTHIS-WIDGET@-->', $addthis_widget, $template);
$breadcrumb_content = $this->load->view($template_path . '-breadcrumb', array('breadcrumb_data' => $breadcrumb_data), true);
$information->ic_content = str_replace('<!--@BREADCRUMB-BLOCK@-->', $breadcrumb_content, $information->ic_content);
} else {
$template = str_replace('<!--@PRODUCT-JS@-->', '<script src="https://data.asiahighlights.com/js/flatpickr.js"></script>', $template);
$inquiry_form_template = $this->load->view(
@ -1232,8 +1246,8 @@ class Information extends CI_Controller
$why_us_tour_list_pc = $this->load->view($template_path . '-why-us-tour-list-pc', false, true);
$information->ic_content = str_replace('<!--@WHY_US_TOUR_LIST_PC@-->', $why_us_tour_list_pc, $information->ic_content);
$breadcrumb_content = $this->load->view($template_path . '-breadcrumb', array('breadcrumb_data' => $breadcrumb_data), true);
$information->ic_content = str_replace('<!--@BREADCRUMB-BLOCK@-->', $breadcrumb_content, $information->ic_content);
$info_page_form_content = $this->load->view($template_path . '-info-page-form', false, true);
$information->ic_content = str_replace('<!--@INFO-PAGE-FORM@-->', $info_page_form_content, $information->ic_content);
// 动态加载反馈标签,第一个城市不足八条,使用第二城市数据。
// HTLM: <div><!--@FEEDBACK_Siem Reap,Bangkok@--></div>

@ -221,6 +221,51 @@ class Information_model extends CI_Model
return $path_list;
}
/**
* 获取当前页面的面包屑,不包括当前节点
*/
function get_breadcrumb_data($is_id, $path, $group_map)
{
$path_query = $this->HT->query("select
ic_id, is_id, ic_url,ic_url_title,ic_title,is_path,is_level,ic_status
from infoStructures a inner join infoContents b on a.is_ic_id=b.ic_id
where is_id in ($path 0) and is_id <> ? order by is_level asc", array($is_id));
$path_result = $path_query->result();
$path_list = [];
foreach ($path_result as $path_row) {
$ic_url = $path_row->ic_url;
$ic_url_title = $path_row->ic_url_title;
if ($path_row->is_level === 0) {
if (array_key_exists($path_row->is_id, $group_map)) {
$top_group = $group_map[$path_row->is_id];
$path_array = [
'ic_id' => $path_row->ic_id,
'is_id' => $path_row->is_id,
'ic_title' => $path_row->ic_title,
'ic_url' => $top_group['ic_url'],
'ic_url_title' => $top_group['ic_url_title']
];
$path_list[] = $path_array;
}
} else if ($path_row->ic_status === 1) {
$path_array = [
'ic_id' => $path_row->ic_id,
'is_id' => $path_row->is_id,
'ic_title' => $path_row->ic_title,
'ic_url' => $path_row->ic_url,
'ic_url_title' => $path_row->ic_url_title
];
$path_list[] = $path_array;
}
}
return $path_list;
}
//根据路径获取某一级别节点详细页
function get_detail_by_path($path, $level)
{

@ -10,7 +10,7 @@ class Confirm extends CI_Controller {
$this->load->model('Order_model');
}
//site_code默认是空ct的站点需要传值
// site_code 默认是空CT、AH 网站需要传值
public function index($COLI_SN = false, $visitor_link = false, $token = false,$site_code='') {
$data = array();
if (empty($COLI_SN) || strtoupper(md5($visitor_link)) != strtoupper($token)) {

@ -0,0 +1,896 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex,nofollow" />
<title>Asia Highlights! Please complete and submit the information.</title>
<link href="https://data.chinahighlights.com/css/min.php?f=/css/customer_center_data/bootstrap.min.css,/css/customer_center_data/order.css,/css/customer_center_data/bootstrap-datetimepicker.min.css&v=2019092401" rel="stylesheet">
<!--[if lte IE 9]>
<link href="https://data.chinahighlights.com/public/js/fixie/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
<link href="https://data.chinahighlights.com/public/js/fixie/respond.proxy.gif" id="respond-redirect" rel="respond-redirect" />
<script src="https://data.chinahighlights.com/js/min.php?f=/public/js/respond.min.js,/public/js/fixie/respond.proxy.js"></script>
<![endif]-->
<script src="https://data.chinahighlights.com/js/min.php?f=/js/customer_center_data/jquery.min.js,/js/customer_center_data/bootstrap.min.js,/js/customer_center_data/jquery-ui.min.js,/js/customer_center_data/jquery-ui-timepicker-addon.js&v=2019092401"></script>
<link rel="shortcut icon" href="https://www.chinahighlights.com/favicon.ico">
<style type="text/css">.popover{background-color:#f2f600;}</style>
</head>
<body>
<div id="headerWrapper">
<div id="header">
<div id="mainnav" class="nav navbar" role="navigation">
<div class="container-fluid">
<div class="row">
<div class="col-lg-3 col-sm-4 logobox hidden-xs">
<a href="/">
<img src="https://data.asiahighlights.com/pic/logo-ah.png" alt="logo">
</a>
</div>
<div class="col-lg-16 col-sm-13 col-lg-offset-3 col-sm-offset-4">
<div class="navbar-header">
<div class="col-xs-24 btn-lg"></div>
<div class="col-xs-24 text-white">Dear <?php echo $username; ?></div>
<div class="col-xs-24 text-white">Reference Number: <?php echo $userinfo[0]->COLI_ID; ?></div>
</div>
</div>
<div class="col-lg-5 col-sm-7 hidden-xs pull-right nopadding">
<div class="tollfree pull-right">
<div class="currentNo col-sm-24 nopadding"><span class="glyphicon glyphicon-earphone" style="font-size:12px;"></span> +86 773<?php echo $userinfo[0]->OPI_Telephone; ?> </div>
<div class="col-sm-24">
<div class="currentNo col-sm-24 nopadding"> 800-2682918 (USA/CA)</div>
<div class="currentNo col-sm-24 nopadding"> 1800-764678 (AU)</div>
<div class="currentNo col-sm-24 nopadding"> 0800-0327753 (UK)</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-xs-24 btn-lg"></div>
<div class="col-xs-24 welcome-text">
<h4 class="text-center text-red">Thanks for booking with Asia Highlights! </h4>
<h4 class="text-center text-red">Please complete and submit the information below.</h4>
<a name="passenger_information" id="passenger_information" ></a>
</div>
<form id="form-confirm-info" method="post" action="https://www.chinahighlights.com/secureinfoconfirm/confirm/save_confirm_info">
<div class="col-xs-24 personinfo-box">
<div class="panel panel-default">
<div class="panel-body">
<div class="row panel-new-head">
<h4 class="text-red">Passenger Information <span class="text-muted" style="font-size:15px;">(we need passport info for all the group members)</span><br/>
<small class="text-muted" style="font-size:15px;">Please ensure the details you provide are <span class="text-red">correct, as stated in your passport.</span> We use this information to book all your hotels and transportation. If the name you provide are incorrect, you would not be able to board your flight or trains in China, and therefore reissuing of tickets would be at your expense! </small>
</h4>
</div>
<div class="col-xs-24 nopadding hidden-xs">
<div class="form-group col-sm-7 nopadding-R" style="margin-bottom:0px;">
<label style="width:100%;text-align:left !important;">
<div class="col-xs-24 nopadding" style="height:15px;font-weight:normal;">
Sur name/First and Middle name<a href="javascript:void(0);" data-toggle="modal" data-target="#sampleModal"> (Sample ▼)</a>
</div>
</label>
</div>
<div class="form-group col-sm-3 nopadding-R" style="margin-bottom:0px;">
<label class="" style="font-weight:normal">Passport No.</label>
</div>
<div class="form-group col-sm-4 nopadding-R" style="margin-bottom:0px;">
<label class="" style="font-weight:normal">Passport Expiration Date</label>
</div>
<div class="form-group col-sm-3 nopadding-R" style="margin-bottom:0px;">
<label class="" style="font-weight:normal">Birthday</label>
</div>
<div class="form-group col-sm-4 nopadding-R" style="margin-bottom:0px;">
<label class="" style="font-weight:normal">Nationality</label>
</div>
<div class="form-group col-sm-3 nopadding-l" style="margin-bottom:0px;">
<label class="" style="font-weight:normal">Occupation</label>
</div>
</div>
<div class="col-xs-24 nopadding personinfo-input-box">
<div class="form-group col-sm-7 nopadding-R">
<label class="visible-xs-block" style="width:100%;text-align:left !important;">
<div class="col-xs-24 nopadding" style="height:15px;">
Sur name/First and Middle name<a href="javascript:void(0);" data-toggle="modal" data-target="#sampleModal"> (Sample ▼)</a>
</div>
</label>
<div class="row">
<div class="col-xs-7 nopadding-R">
<select class="form-control input-sm nopadding select_gender" name="gender[]" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your gender!">
<option value="-">gender</option>
<option value="100001">Mr</option>
<option value="100003">Ms</option>
</select>
</div>
<div class="col-xs-17 nopadding-L">
<div class="input-group">
<div class="form-control input-sm nopadding">
<div class="col-xs-11 nopadding">
<input name="sur_name[]" class="common_input form-control input-sm nopadding-R" placeholder="Sur name" style="border:none;height:28px;" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in this Sur name!">
</div>
<div class="col-xs-1 nopadding text-center" style="font-size:18px;width:10px;">/</div>
<div class="col-xs-11 col-sm-11 nopadding">
<input name="given_name[]" class="common_input form-control input-sm nopadding-R" placeholder="First and Middle name" style="border:none;height:28px;" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in this Given name!">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group col-sm-3 nopadding-R">
<label class="visible-xs-block">Passport No.</label>
<input type="text" class="form-control input-sm common_input" name="passport[]" value="" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your passport!" autocomplete="off">
</div>
<div class="form-group col-sm-4 nopadding-R">
<label class="visible-xs-block">Passport Expiration Date</label>
<div class="input-groups date">
<input class="form-control input-sm common_input datepicker" type="text" name="passport_expiration_date[]" value="" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your passport expiration date!" autocomplete="off" style="color:#333333 !important;">
</div>
</div>
<div class="form-group col-sm-3 nopadding-R">
<label class="visible-xs-block">Birthday</label>
<div class="input-groups date " data-date="1970-05-20">
<input class="form-control input-sm common_input bd_datepicker" type="text" name="birthday[]" value="" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your birthday!" autocomplete="off" style="color:#333333 !important;">
</div>
</div>
<div class="form-group col-sm-4">
<label class="visible-xs-block">Nationality</label>
<select class="form-control input-sm common_input" name="nationality[]">
<option value="18" selected="selected">Australia</option>
<option value="5">Canada</option>
<option value="1">China</option>
<option value="8">France</option>
<option value="6">Germany</option>
<option value="9">Italy</option>
<option value="19">Malaysia</option>
<option value="27">Singapore</option>
<option value="7">United Kingdom</option>
<option value="3">United States</option>
<option value="458">Afghanistan</option>
<option value="459">Albania</option>
<option value="460">Algeria</option>
<option value="461">American Samoa</option>
<option value="462">Andorra</option>
<option value="463">Angola</option>
<option value="464">Anguilla</option>
<option value="465">Antarctica</option>
<option value="466">Antigua And Barbuda</option>
<option value="467">Argentina</option>
<option value="468">Armenia</option>
<option value="469">Aruba</option>
<option value="470">Austria</option>
<option value="471">Azerbaijan</option>
<option value="472">Bahamas</option>
<option value="473">Bahrain</option>
<option value="474">Bangladesh</option>
<option value="671">Barbadian</option>
<option value="475">Barbados</option>
<option value="476">Belarus</option>
<option value="477">Belgium</option>
<option value="478">Belize</option>
<option value="479">Benin</option>
<option value="480">Bermuda</option>
<option value="481">Bhutan</option>
<option value="482">Bolivia</option>
<option value="483">Botswana</option>
<option value="484">Bouvet Island</option>
<option value="38">Brazil</option>
<option value="485">British Indian Ocean Territory</option>
<option value="486">Brunei Darussalam</option>
<option value="487">Bulgaria</option>
<option value="488">Burkina Faso</option>
<option value="489">Burundi</option>
<option value="490">Cambodia</option>
<option value="491">Cameroon</option>
<option value="493">Cape Verde</option>
<option value="494">Cayman Islands</option>
<option value="495">Central African Republic</option>
<option value="496">Chad</option>
<option value="497">Chile</option>
<option value="10">China HK</option>
<option value="499">Christmas Island</option>
<option value="500">Colombia</option>
<option value="501">Comoros</option>
<option value="502">Congo</option>
<option value="504">Cook Islands</option>
<option value="505">Costa Rica</option>
<option value="506">Croatia</option>
<option value="507">Cuba</option>
<option value="508">Cyprus</option>
<option value="509">Czech Republic</option>
<option value="510">Czechoslovakia</option>
<option value="511">Denmark</option>
<option value="512">Djibouti</option>
<option value="513">Dominica</option>
<option value="514">Dominican Republic</option>
<option value="515">East Timor</option>
<option value="516">Ecuador</option>
<option value="517">Egypt</option>
<option value="518">El Salvador</option>
<option value="520">Equatorial Guinea</option>
<option value="521">Eritrea</option>
<option value="522">Estonia</option>
<option value="523">Ethiopia</option>
<option value="524">Falkland Islands</option>
<option value="525">Faroe Islands</option>
<option value="526">Fiji</option>
<option value="527">Finland</option>
<option value="528">French Guiana</option>
<option value="529">French Polynesia</option>
<option value="530">Gabon</option>
<option value="531">Gambia</option>
<option value="532">Georgia</option>
<option value="533">Ghana</option>
<option value="534">Gibraltar</option>
<option value="536">Greece</option>
<option value="537">Greenland</option>
<option value="538">Grenada</option>
<option value="539">Guadeloupe</option>
<option value="540">Guam</option>
<option value="670">Guatemala</option>
<option value="541">Guernsey</option>
<option value="542">Guinea</option>
<option value="543">Guinea-Bissau</option>
<option value="544">Guyana</option>
<option value="545">Haiti</option>
<option value="546">Honduras</option>
<option value="547">Hong Kong</option>
<option value="548">Hungary</option>
<option value="36">Iceland</option>
<option value="22">India</option>
<option value="549">Indonesia</option>
<option value="550">Iran</option>
<option value="551">Iraq</option>
<option value="552">Ireland</option>
<option value="553">Isle Of Man</option>
<option value="21">Israel</option>
<option value="554">Jamaica</option>
<option value="2">Japan</option>
<option value="556">Jersey</option>
<option value="557">Jordan</option>
<option value="558">Kazakhstan</option>
<option value="668">Kazakhstan2</option>
<option value="559">Kenya</option>
<option value="560">Kiribati</option>
<option value="562">Korea</option>
<option value="563">Kuwait</option>
<option value="564">Kyrgyzstan</option>
<option value="35">Laos</option>
<option value="565">Latvia</option>
<option value="566">Lebanon</option>
<option value="567">Lesotho</option>
<option value="568">Liberia</option>
<option value="569">Libyan Arab Jamahiriya</option>
<option value="570">Liechtenstein</option>
<option value="571">Lithuania</option>
<option value="572">Luxembourg</option>
<option value="573">Macau</option>
<option value="574">Macedonia</option>
<option value="575">Madagascar</option>
<option value="576">Malawi</option>
<option value="577">Maldives</option>
<option value="578">Mali</option>
<option value="579">Malta</option>
<option value="580">Marshall Islands</option>
<option value="581">Martinique</option>
<option value="582">Mauritania</option>
<option value="583">Mauritius</option>
<option value="584">Mayotte</option>
<option value="32">Mexican</option>
<option value="585">Micronesia</option>
<option value="586">Moldova</option>
<option value="587">Monaco</option>
<option value="29">Mongolia</option>
<option value="588">Montserrat</option>
<option value="589">Morocco</option>
<option value="590">Mozambique</option>
<option value="591">Myanmar</option>
<option value="592">Namibia</option>
<option value="593">Nauru</option>
<option value="31">Nepal</option>
<option value="39">Netherlands</option>
<option value="594">Netherlands Antilles</option>
<option value="595">Neutral Zone</option>
<option value="596">New Caledonia</option>
<option value="20">New Zealand</option>
<option value="597">Nicaragua</option>
<option value="598">Niger</option>
<option value="599">Nigeria</option>
<option value="600">Niue</option>
<option value="601">Norfolk Island</option>
<option value="33">North Korea</option>
<option value="602">Northern Mariana Islands</option>
<option value="37">Norway</option>
<option value="603">Oman</option>
<option value="604">Pakistan</option>
<option value="605">Palau</option>
<option value="606">Panama</option>
<option value="607">Papua New Guinea</option>
<option value="608">Paraguay</option>
<option value="609">Peru</option>
<option value="23">Philippines</option>
<option value="610">Pitcairn</option>
<option value="611">Poland</option>
<option value="612">Portugal</option>
<option value="613">Puerto Rico</option>
<option value="614">Qatar</option>
<option value="615">Reunion</option>
<option value="616">Romania</option>
<option value="24">Russian Federation</option>
<option value="617">Rwanda</option>
<option value="618">Saint Helena</option>
<option value="619">Samoa</option>
<option value="620">San Marino</option>
<option value="621">Sao Tome and Principe</option>
<option value="622">Saudi Arabia</option>
<option value="674">Scotland</option>
<option value="623">Senegal</option>
<option value="624">Seychelles</option>
<option value="625">Sierra Leone</option>
<option value="626">Slovakia</option>
<option value="627">Slovenia</option>
<option value="628">Solomon Islands</option>
<option value="629">Somalia</option>
<option value="630">South Africa</option>
<option value="631">South Georgia and The Sandwich</option>
<option value="26">Spain</option>
<option value="632">Sri Lanka</option>
<option value="633">Sudan</option>
<option value="634">Suriname</option>
<option value="635">Swaziland</option>
<option value="636">Sweden</option>
<option value="25">Switzerland</option>
<option value="637">Syrian Arab Republic</option>
<option value="638">Taiwan</option>
<option value="639">Tanzania</option>
<option value="28">Thailand</option>
<option value="676">The Republic of Cote d'ivoire</option>
<option value="640">Togo</option>
<option value="641">Tokelau</option>
<option value="642">Tonga</option>
<option value="643">Trinidad and Tobago</option>
<option value="644">Tunisia</option>
<option value="645">Turkey</option>
<option value="646">Turkmenistan</option>
<option value="647">Turks and Caicos Islands</option>
<option value="648">Tuvalu</option>
<option value="649">Uganda</option>
<option value="650">Ukraine</option>
<option value="651">United Arab Emirates</option>
<option value="667">unknown</option>
<option value="652">Uruguay</option>
<option value="653">USSR</option>
<option value="654">Uzbekistan</option>
<option value="655">Vanuatu</option>
<option value="656">Vatican City State</option>
<option value="657">Venezuela</option>
<option value="30">Vietnam</option>
<option value="659">Virgin Islands (British)</option>
<option value="660">Virgin Islands (U.S.)</option>
<option value="661">Western Sahara</option>
<option value="662">Yemen</option>
<option value="663">Yugoslavia</option>
<option value="664">Zaire</option>
<option value="665">Zambia</option>
<option value="666">Zimbabwe</option>
</select>
</div>
<div class="form-group col-sm-3 nopadding-L">
<div class="input-group">
<label class="visible-xs-block">Occupation</label>
<select class="form-control input-sm nopadding select_occupation" name="occupation[]" placeholder="Occupation" >
<option value="None">None</option>
<option value="128142">Retired</option>
<option value="128143">Agriculture, Food & Natural Resources</option>
<option value="128144">Architecture & Construction</option>
<option value="128145">Arts, Audio/Video Technology & Communications</option>
<option value="128146">Business Management & Administration</option>
<option value="128147">Education & Training</option>
<option value="128148">Finance</option>
<option value="128149">Government & Public Administration</option>
<option value="128150">Health Science</option>
<option value="128151">Hospitality & Tourism</option>
<option value="128152">Human Services</option>
<option value="128153">Information Technology</option>
<option value="128154">Law, Public Safety, Corrections & Security</option>
<option value="128155">Manufacturing</option>
<option value="128156">Marketing, Sales & Service</option>
<option value="128157">Science, Technology, Engineering & Mathematics</option>
<option value="128158">Transportation, Distribution & Logistics</option>
<option value="128159">Housewife</option>
<option value="128160">Freelancer</option>
</select>
<span class="input-group-addon" style="background:#fff;border:none;padding:2px 3px;">
<span class="glyphicon glyphicon-minuss text-danger"></span>
</span>
</div>
</div>
</div>
<div class="col-xs-24 add-personinfo-box">
<span class="text-red" id="btn-add-personinfo-box">
<span class="glyphicon glyphicon-plus"></span> Add a passenger
</span>
<div class="col-xs-24 btn-lg"></div>
</div>
<div class="form-group col-xs-24 Home-Address">
<div class="input-group">
<span class="input-group-addon">
Contact phone no.:
</span>
<div class="form-control input-sm nopadding" style="border:none;-webkit-box-shadow: inset 0 0px 0px rgba(0,0,0,0.075);box-shadow: inset 0 0px 0px rgba(0,0,0,0.">
<div class="col-xs-11 nopadding">
<input type="text" name="landline" value="" class="common_input form-control input-sm" placeholder="Land line" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your Contact Land line.!">
</div>
<div class="col-xs-13 nopadding">
<input type="text" name="mobile" value="" class="common_input form-control input-sm" placeholder="Mobile" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your Contact Mobile.!">
</div>
</div>
</div>
</div>
<?php if ($userinfo[0]->COLI_CustomerType != 44003) { ?>
<div class="form-group col-xs-24 Home-Address">
<div class="input-group">
<span class="input-group-addon" style="min-width:145px;">
Home Address:
</span>
<div class="form-control input-sm hidden-xs nopadding">
<div class="col-xs-5 nopadding">
<input name="address_street" class="input_home_address form-control input-sm" placeholder="Street" style="border:none;height:28px;" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your home address!">
</div>
<div class="col-xs-1 nopadding" style="input_home_addressfont-size:18px;width:10px;">,</div>
<div class="col-xs-5 nopadding">
<input name="address_city" class="input_home_addressform-control input-sm nopadding" placeholder="City" style="border:none;height:28px;" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your home address!">
</div>
<div class="col-xs-1 nopadding" style="font-size:18px;width:10px;">,</div>
<div class="col-xs-5 nopadding">
<input name="address_state" class="input_home_addressform-control input-sm nopadding" placeholder="State" style="border:none;height:28px;" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your home address!">
</div>
<div class="col-xs-1 nopadding" style="font-size:18px;width:10px;">,</div>
<div class="col-xs-7 nopadding">
<input name="address_country" class="input_home_addressform-control input-sm nopadding" placeholder="Country" style="border:none;height:28px;" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your home address!">
</div>
</div>
<input class="form-control input-sm visible-xs-block" name="home_address">
</div>
</div>
<?php } ?>
</div>
</div>
</div>
<div class="col-xs-24 flightinfo-box" >
<div class="panel panel-default">
<div class="panel-body">
<div class="row panel-new-head">
<h4 class="text-red">Flight Information <span class="text-muted" style="font-size:15px;">(please skip this if your dont need airport pick up and drop off service)</span></h4>
</div>
<div class="col-xs-24 flight-info-box">
<div class="form-group col-sm-6 nopadding">
<label>Arrival Asia Flight No.</label>
<input type="text" class="form-control input-sm" name="MEI_ArrivalFlightNo" value="" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your Flight No.!">
</div>
<div class="form-group col-sm-6 nopadding-R">
<label>Arrival time</label>
<div class="input-groups date" >
<input class="form-control input-sm f_datepicker" type="text" name="MEI_ArrivalTime" value="" autocomplete="off" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your arrival time!" style="color:#333333 !important;">
</div>
</div>
<div class="form-group col-sm-6 nopadding-R">
<label>Departure Asia Flight no.</label>
<input type="text" class="form-control input-sm" name="MEI_DepartureFlightNo" value="" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your flight no.!">
</div>
<div class="form-group col-sm-6 nopadding-R">
<label>Departure time</label>
<div class="input-groups date ">
<input class="form-control input-sm f_datepicker" type="text" name="MEI_DepartureTime" value="" autocomplete="off" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your departure time!" style="color:#333333 !important;">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xs-24 ">
<div class="panel panel-default">
<div class="panel-body">
<div class="row panel-new-head">
<h4 class="text-red">
Special Request
</h4>
</div>
<div class="col-xs-24 special_request_box">
<div class="form-group">
<div class="col-xs-24 nopadding">
<textarea class="form-control input-sm" rows="5" name="special_request" placeholder="King-size bed for
Vegetarian food for
Different arrival/departure information for
Special Assistance/Disability Needs for Customers
Any surgery recently
"></textarea>
</div>
<div class="col-xs-24 btn-lg"></div>
</div>
</div>
</div>
</div>
</div>
<?php if ($userinfo[0]->COLI_CustomerType != 44003) { ?>
<div class="col-xs-24 " >
<div class="panel panel-default">
<div class="panel-body">
<div class="row panel-new-head">
<h4 class="text-red">
Emergency Contact Information
<span class="text-muted" style="font-size:15px;">(in case an unlikely event happens when you are traveling)</span>
</h4>
</div>
<div class="col-xs-24 new-form-horizontal emergencyx_box">
<div class="form-group col-sm-13">
<label class="col-sm-9 control-label nopadding-L">Contact person name</label>
<div class="col-sm-13 nopadding">
<input type="text" class="form-control input-sm" name="emergency_person_name" value="" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your emergency contact person name!">
</div>
</div>
<div class="form-group col-sm-11">
<label class="col-sm-7 control-label nopadding-L">E-mail address</label>
<div class="col-sm-17 nopadding">
<input type="text" class="form-control input-sm" name="emergency_email" value="" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your email!">
</div>
</div>
<div class="form-group col-sm-13">
<label class="col-sm-9 control-label nopadding-L">Relationship with him/her</label>
<div class="col-sm-13 nopadding">
<input type="text" class="form-control input-sm" name="emergency_relationship" placeholder="eg: He is Sues father" value="" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in the relationship!">
</div>
</div>
<div class="form-group col-sm-11">
<label class="col-sm-7 control-label nopadding-L">Telephone no. </label>
<div class="col-sm-17 nopadding">
<input type="text" class="form-control input-sm" name="emergency_telephone" placeholder="country code + area code + land line" value="" data-trigger="manual" data-container="body" data-toggle="popover" data-placement="top" data-content="Please fill in your telephone no!">
</div>
</div>
<div class="col-xs-24 btn-lg"></div>
</div>
</div>
</div>
</div>
<?php } ?>
<div class="col-xs-24 " >
<div class="panel panel-default">
<div class="panel-body">
<div class="row panel-new-head">
<h4 class="text-red">
Insurance Information
</h4>
</div>
<div class="col-xs-24 special_request_box">
<div class="form-group">
<div class="col-xs-24 nopadding">
<textarea class="form-control input-sm" rows="5" name="insurance_information" placeholder="Asia Highlights strongly suggest you buy travel insurance from your country, even SOS service.
If you already have, please inform us the company name, phone no.
and your confirmation code, also drug allergy just in case.
"></textarea>
</div>
<div class="col-xs-24 btn-lg"></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xs-24">
<input type="hidden" name="toname" value="<?php echo $userinfo[0]->OPI_FirstName; ?>">
<input type="hidden" name="tomail" value="<?php echo $userinfo[0]->OPI_Email; ?>">
<input type="hidden" name="customer_username" value="<?php echo $username; ?>">
<input type="hidden" name="customer_usermail" value="<?php echo $usermail; ?>">
<input type="hidden" name="COLI_ID" value="<?php echo $userinfo[0]->COLI_ID; ?>">
<input type="hidden" name="COLI_SN" value="<?php echo $userinfo[0]->COLI_SN; ?>">
<input type="hidden" name="visitor_link" value="<?php echo $visitor_link; ?>">
<div class="col-sm-15 col-xs-24 nopadding">
<button type="button" class="btn btn-danger btn-lg col-sm-9 col-xs-24 pull-right" style="min-width:210px;font-size:24px;" onclick="show_review_modal();">Check & Submit</button>
</div>
<div class="partner-text col-sm-9 col-xs-24 text-left">Thanks,yours <?php echo $userinfo[0]->OPI_FirstName; ?></div>
</div>
</form>
</div>
</div>
<div class="modal" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">Error!</h4>
</div>
<div class="modal-body" style="height:150px;">
<p class="text-danger lead" style="padding-top:10px;">Error: Please contact your travel advisor.</p>
</div>
</div>
</div>
</div>
<!-- sampleModal -->
<div class="modal" id="sampleModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header" style="border-bottom:none;">
<button type="button" class="close" style="margin-top:-12px;margin-right:-11px;" data-dismiss="modal" aria-label="Close"><span class="glyphicon glyphicon-remove" style="border: 2px solid #333;border-radius: 30px;padding: 2px;"></span></button>
</div>
<div class="modal-body" style="padding-top:8px;">
<img style="width:100%;" src="https://data.chinahighlights.com/image/customer_center_data/css/images/passport.jpg">
</div>
</div>
</div>
</div>
<!-- reviewModal -->
<div class="modal fade" id="reviewModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title text-danger">Please double check your information</h4>
</div>
<div class="modal-body" id="reviewModal_body">
<p>...</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Return & Change</button>
<button type="button" class="btn btn-primary" id="btn-add-userinfo" onclick="submit_info_form();">Confirm & Submit</button>
</div>
</div>
</div>
</div>
<!-- reviewModal end-->
<script type="text/javascript">
var org_url = location.href;
$(document).ready(function() {
$(".common_input,textarea").each(function() {
if ($(this).val() == '' && $(this).attr('placeholder') != '') {
var valstr = $(this).val($(this).attr('placeholder'));
$(this).css("color", "#999999");
}
});
$(".common_input,textarea").click(function() {
if ($(this).val() == $(this).attr('placeholder') || $(this).val() == '') {
$(this).val('');
$(this).css("color", "#333333");
}
$(this).popover('hide');
});
$(".common_input,textarea").blur(function() {
if ($(this).val() == '' && $(this).attr('placeholder') != '') {
$(this).val($(this).attr('placeholder'));
$(this).css("color", "#999999");
}
});
//移除一个客户信息
$('body').on('click', '.glyphicon-minus', function() {
if (confirm("Remove this passenger?"))
{
$(this).parents('.personinfo-input-box').remove();
}
});
//添加一个客户信息
$("#btn-add-personinfo-box").click(function()
{
var html = $(".personinfo-input-box:first").clone();
$('.add-personinfo-box').before(html);
var num = $(".personinfo-input-box").length;
var $currentbox = $(".personinfo-input-box:last");
$currentbox.find('.glyphicon-minuss').addClass('glyphicon-minus').removeClass('glyphicon-minuss');
$currentbox.find('label').remove();
$currentbox.find('input').val('');
$currentbox.find('.datepicker').removeClass('hasDatepicker').attr('id', '');
$currentbox.find('.bd_datepicker').removeClass('hasDatepicker').attr('id', '');
$('.datepicker').datepicker({
controlType: 'select',
oneLine: true,
changeMonth: true,
changeYear: true,
yearRange: '2010:2055',
timeFormat: 'mm/dd/yy'
});
$('.bd_datepicker').datepicker({
controlType: 'select',
oneLine: true,
changeMonth: true,
changeYear: true,
defaultDate: '-45y',
yearRange: '1920:2055',
timeFormat: 'mm/dd/yy'
});
});
// $("#btn-add-personinfo-box").click();
//日期初始化
$('.f_datepicker').datetimepicker({
controlType: 'select',
oneLine: true,
changeMonth: false,
changeYear: false,
timeFormat: 'H:mm'
});
$('.bd_datepicker').datepicker({
controlType: 'select',
oneLine: true,
changeMonth: true,
changeYear: true,
defaultDate: '-45y',
yearRange: '1920:2055',
timeFormat: 'mm/dd/yy'
});
$('.datepicker').datepicker({
controlType: 'select',
oneLine: true,
changeMonth: true,
changeYear: true,
yearRange: '2010:2055',
timeFormat: 'mm/dd/yy'
});
});
$(document).on('click', '.common_input,.select_gender', function() {
$(this).popover('hide');
});
function verifyInfo() {
var flag = true;
$(".select_gender").each(function() {
if ($(this).val() == '-') {
$(this).popover('show');
flag = false;
return false;
};
});
if (!flag) {
location.href = org_url + '#passenger_information';
return false;
};
$(".common_input").each(function() {
if ($(this).val() == $(this).attr('placeholder') || $(this).val() == '') {
$(this).popover('show');
flag = false;
return false;
};
});
if (!flag) {
location.href = org_url + '#passenger_information';
return false;
};
$(".input_home_address").each(function()
{
if ($(this).val() == $(this).attr('placeholder')) {
$(this).val('');
}
});
if ($("textarea").val() == $("textarea").attr('placeholder')) {
$("textarea").val('');
};
return true;
}
//提交信息
function submit_info_form () {
var $btn = $("#btn-add-userinfo").button('loading');
var data = $("#form-confirm-info").serialize();
var url=$("#form-confirm-info").attr('action');
$.ajax({
type: "post",
url: url,
dataType: "json",
data: data,
success: function(json_data) {
if (json_data.status == 'ok') {
location.href = 'https://www.chinahighlights.com/secureinfoconfirm/confirm/index';
} else {
//$('#reviewModal').modal('hide');
$('#myModal').modal('show');
$btn.button('reset');
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
//$('#reviewModal').modal('hide');
$btn.button('reset');
}
});
};
function show_review_modal() {
if(verifyInfo()==false){
return false;
}
$('#reviewModal_body').html('loading....');
$.ajax({
type: "post",
dataType: "json",
data: $("#form-confirm-info").serialize(),
url: 'https://www.chinahighlights.com/secureinfoconfirm/confirm/review',
success: function(data, textStatus) {
$('#reviewModal_body').html(data);
$('#reviewModal').modal('show');
},
error: function(msg) {
alert('\u53d1\u751f\u9519\u8bef\uff0c\u8bf7\u8054\u7cfbYCC...');
}
});
}
</script>
</body>
</html>

@ -15,11 +15,17 @@ class Index extends CI_Controller
private $Log_Client;
private $logstore=array('cht'=>'globalhoghlights'
,'ah'=>'asiahighlights'
,'gh'=>'globalhighlights'
,'ct'=>'chinatravel'
,'yz'=>'yangtzeriver'
,'gl'=>'guilinchina'
,'sht'=>'shanghaihighlights'
,'gm'=>'chinarundreisen'
,'jp'=>'arachina'
,'ru'=>'chinahighlights_ru'
,'it'=>'viaggio-in-cina'
,'vac'=>'viaje-a-china'
,'vc'=>'voyageschine'
);//站点日志存储库,每个网站对应一个

@ -861,6 +861,9 @@
<option value="cruiseform" <?php echo get_meta($information->ic_id, 'meta_ct_page_type') === 'cruiseform' ? 'selected' : false; ?>>
游船预订表单
</option>
<option value="daytripform" <?php echo get_meta($information->ic_id, 'meta_ct_page_type') === 'daytripform' ? 'selected' : false; ?>>
一日游预订表单
</option>
</select>
</div>
<div class="col-sm-6">

@ -7,7 +7,7 @@
alt="<?php echo !empty($information->ic_title)?$information->ic_title:'H1 title asiahighlights mobile first template'; ?>" class="img-responsive">
<?php } ?>
<div class="topbannerbg">
<div class="infocategory" style="display: none">
<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>

@ -0,0 +1,83 @@
<div class="tmbottom">
<h3 style="text-align: center; font-size: 20px; line-height: 22px;">For a quick conversation, simply reach us via WhatsApp:</h3>
<div class="contactwechat"><img alt="asia highlights' wechat code" height="100px" src="https://data.globalhighlights.com/image/aboutus/gh-whatsapp-qr-code.webp" width="100px" />
<div class="wechatinfo"><span class="wechatred">+86 15807734776</span><br />
Email: <span class="wechatred">contact@asiahighlights.com</span></div>
</div>
<h3 style="text-align: center; font-size: 20px; line-height: 22px;">Start planning your tailor-made tour now. Your 1:1 travel consultant will reply within 1 working day.</h3>
<form action="/orders/quick_inquiry_save" method="post" novalidate="" onsubmit="return validateQuickInquiryForm()">
<input class="FullName" id="realname" name="name" placeholder="Your name" required="" type="text" value="" />
<div id="realname_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your name</div>
</div>
<input class="EmailAddress" id="email" name="email" placeholder="Email" required="" type="text" value="" />
<div id="email_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your email</div>
</div>
<div id="email_verify_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please verify your email</div>
</div>
<input class="InquiryCalendar" id="starting_date" name="starting_date" placeholder="Starting date" readonly="readonly" />
<div id="starting_date_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your starting date</div>
</div>
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo" placeholder="Any other way to reach you (optional)" type="tel" value="" /><textarea id="form_additionalrequirements" name="form_additionalrequirements" placeholder="Tell us your travel requirements here: anniversary, honeymoon, family trip, birthday travel, beach, food..." style="height:100px;"></textarea>
<button class="sendButton" id="submit_booking_form_inquiry" name="booking_form_inquiry_list" type="submit">Inquire Now</button> <input name="cli_no" type="hidden" value="YDFW-AH"/>
<input name="ic_title" type="hidden" value="YDFW-AH" />
</form>
</div>
<script src="https://data.chinahighlights.com/js/flatpickr-4.6.1.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
flatpickr("#starting_date", {
dateFormat: "Y-m-d",
altInput: true,
altFormat: "F j, Y",
disableMobile: true,
minDate: "today"
});
});
function validateQuickInquiryForm() {
var result = true;
var realnameVal = document.getElementById("realname").value;
var emailVal = document.getElementById("email").value;
var startingDateVal = document.getElementById("starting_date").value;
var realnameErrEl = document.getElementById("realname_errmsg");
var emailErrEl = document.getElementById("email_errmsg");
var emailVerifyErrEl = document.getElementById("email_verify_errmsg");
var startingDateErrEl = document.getElementById("starting_date_errmsg");
realnameErrEl.style.display = 'none';
emailErrEl.style.display = 'none';
emailVerifyErrEl.style.display = 'none';
startingDateErrEl.style.display = 'none';
if (realnameVal === '') {
realnameErrEl.style.display = '';
result = false;
}
if (emailVal === '') {
emailErrEl.style.display = '';
result = false;
} else {
var emailPattern = /^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/;
if (!emailPattern.test(emailVal)) {
emailVerifyErrEl.style.display = '';
result = false;
}
}
if (startingDateVal === '') {
startingDateErrEl.style.display = '';
result = false;
}
return result;
}
</script>

@ -1,4 +1,124 @@
<div class="nextcontext">
<?php if(!empty($recommands['Tour A']) || !empty($recommands['Tour B']) || !empty($recommands['Tour C']) || !empty($recommands['Tour D'])){ ?>
<h2 class="nexttitle">Get Inspired with Our Sample Itineraries</h2>
<p class="nextinfo">At Asia Highlights, we create your kind of journey — your dates, your destinations, at your pace. You can have any trip tailor made for your travel.</p>
<div class="table-responsive">
<table class="info_reco_table">
<tbody>
<tr>
<?php if(!empty($recommands['Tour A'])){ ?>
<td> <div class="nextarticle">
<a href="<?php echo $recommands['Tour A']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour A']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour A']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour A']->ic_url; ?>"><?php echo $recommands['Tour A']->ic_title; ?></a></div>
</div></td>
<?php } ?>
<?php if(!empty($recommands['Tour B'])){ ?>
<td> <div class="nextarticle">
<a href="<?php echo $recommands['Tour B']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour B']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour B']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour B']->ic_url; ?>"><?php echo $recommands['Tour B']->ic_title; ?></a></div>
</div> </td>
<?php } ?>
<?php if(!empty($recommands['Tour C'])){ ?>
<td> <div class="nextarticle">
<a href="<?php echo $recommands['Tour C']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour C']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour C']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour C']->ic_url; ?>"><?php echo $recommands['Tour C']->ic_title; ?></a></div>
</div></td>
<?php } ?>
<?php if(!empty($recommands['Tour D'])){ ?>
<td> <div class="nextarticle">
<a href="<?php echo $recommands['Tour D']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour D']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour D']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour D']->ic_url; ?>"><?php echo $recommands['Tour D']->ic_title; ?></a></div>
</div></td>
<?php } ?>
<?php if(!empty($recommands['Tour E'])){ ?>
<td> <div class="nextarticle">
<a href="<?php echo $recommands['Tour E']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour E']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour E']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour E']->ic_url; ?>"><?php echo $recommands['Tour E']->ic_title; ?></a></div>
</div></td>
<?php } ?>
<?php if(!empty($recommands['Tour F'])){ ?>
<td> <div class="nextarticle">
<a href="<?php echo $recommands['Tour F']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour F']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour F']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour F']->ic_url; ?>"><?php echo $recommands['Tour F']->ic_title; ?></a></div>
</div></td>
<?php } ?>
<?php if(!empty($recommands['Tour G'])){ ?>
<td> <div class="nextarticle">
<a href="<?php echo $recommands['Tour G']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour G']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour G']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour G']->ic_url; ?>"><?php echo $recommands['Tour G']->ic_title; ?></a></div>
</div></td>
<?php } ?>
<?php if(!empty($recommands['Tour H'])){ ?>
<td> <div class="nextarticle">
<a href="<?php echo $recommands['Tour H']->ic_url; ?>"><img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour H']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour H']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour H']->ic_url; ?>"><?php echo $recommands['Tour H']->ic_title; ?></a></div>
</div> </td>
<?php } ?>
</tr>
</tbody>
</table>
</div>
<?php } ?>
<?php if(!empty($recommands['Article A']) || !empty($recommands['Article B']) || !empty($recommands['Article C']) || !empty($recommands['Article D'])){ ?>
<h2 class="nexttitle">More Travel Ideas and Inspiration</h2>
@ -141,124 +261,6 @@
</div>
<?php } ?>
<?php if(!empty($recommands['Tour A']) || !empty($recommands['Tour B']) || !empty($recommands['Tour C']) || !empty($recommands['Tour D'])){ ?>
<h2 class="nexttitle">Get Inspired with Our Sample Itineraries</h2>
<p class="nextinfo">At Asia Highlights, we create your kind of journey — your dates, your destinations, at your pace. You can have any trip tailor made for your travel.</p>
<div class="table-responsive">
<table class="info_reco_table">
<tbody>
<tr>
<td>
<?php if(!empty($recommands['Tour A'])){ ?>
<div class="nextarticle">
<a href="<?php echo $recommands['Tour A']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour A']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour A']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour A']->ic_url; ?>"><?php echo $recommands['Tour A']->ic_title; ?></a></div>
</div>
<?php } ?>
</td>
<td>
<?php if(!empty($recommands['Tour B'])){ ?>
<div class="nextarticle">
<a href="<?php echo $recommands['Tour B']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour B']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour B']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour B']->ic_url; ?>"><?php echo $recommands['Tour B']->ic_title; ?></a></div>
</div>
<?php } ?>
</td>
<td>
<?php if(!empty($recommands['Tour C'])){ ?>
<div class="nextarticle">
<a href="<?php echo $recommands['Tour C']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour C']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour C']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour C']->ic_url; ?>"><?php echo $recommands['Tour C']->ic_title; ?></a></div>
</div>
<?php } ?>
</td>
<td>
<?php if(!empty($recommands['Tour D'])){ ?>
<div class="nextarticle">
<a href="<?php echo $recommands['Tour D']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour D']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour D']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour D']->ic_url; ?>"><?php echo $recommands['Tour D']->ic_title; ?></a></div>
</div>
<?php } ?>
</td>
<td>
<?php if(!empty($recommands['Tour E'])){ ?>
<div class="nextarticle">
<a href="<?php echo $recommands['Tour E']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour E']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour E']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour E']->ic_url; ?>"><?php echo $recommands['Tour E']->ic_title; ?></a></div>
</div>
<?php } ?>
</td>
<td>
<?php if(!empty($recommands['Tour F'])){ ?>
<div class="nextarticle">
<a href="<?php echo $recommands['Tour F']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour F']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour F']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour F']->ic_url; ?>"><?php echo $recommands['Tour F']->ic_title; ?></a></div>
</div>
<?php } ?>
</td>
<td>
<?php if(!empty($recommands['Tour G'])){ ?>
<div class="nextarticle">
<a href="<?php echo $recommands['Tour G']->ic_url; ?>"> <img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour G']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour G']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour G']->ic_url; ?>"><?php echo $recommands['Tour G']->ic_title; ?></a></div>
</div>
<?php } ?>
</td>
<td>
<?php if(!empty($recommands['Tour H'])){ ?>
<div class="nextarticle">
<a href="<?php echo $recommands['Tour H']->ic_url; ?>"><img src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Tour H']->mobile_photo; ?>"
class="img-responsive" alt="<?php echo $recommands['Tour H']->ic_title; ?>"></a>
<div class="tournextname"><a href="<?php echo $recommands['Tour H']->ic_url; ?>"><?php echo $recommands['Tour H']->ic_title; ?></a></div>
</div>
<?php } ?>
</td>
</tr>
</tbody>
</table>
</div>
<?php } ?>
</div>

@ -38,6 +38,7 @@
gtag('js', new Date());
gtag('config', 'AW-996341496');
</script>
</head>
<body>
@ -51,7 +52,7 @@
<a href="/" class="p_toplogo"> <img src="https://data.asiahighlights.com/pic/logo-ah.png" alt="Asiahighlights logo" class="asiahighlightslogo img-responsive"></a>
<div class="p_topnavigation">
<ul class="pctopnavi">
<li class="dropdown"><a class="p_topnavilink">Destinations</a>
<li class="dropdown"><a class="p_topnavilink" href="/destinations">Destinations</a>
<div class=" dropdown-content">
<div class="inspirationinfo">
<div class="listtour">
@ -60,6 +61,7 @@
<li><a href="/japan" >Japan</a></li>
<li><a href="/india" >India</a></li>
<li><a href="/vietnam" >Vietnam</a></li>
</ul>
<ul class="inspiration">
<li><a href="/cambodia" >Cambodia</a></li>
@ -67,9 +69,11 @@
<li><a href="/laos" >Laos</a></li>
</ul>
<ul class="inspiration">
<li><a href="/tours" >Top Asia Tours</a></li>
<li><a href="/caucasus-central-asia/tours" >Caucasus and Central Asia Tours</a></li>
<li><a href="/southeast-asia/tours/thailand-cambodia-and-vietnam" >Thailand, Vietnam, and Cambodia</a></li>
<li><a href="/southeast-asia/tours/thailand-cambodia-and-vietnam" >Thailand, Vietnam, Cambodia Tours</a></li>
<li><a href="/southeast-asia/tours" >Southeast Asia Tours</a></li>
<li><a href="/tours" >Top Asia Tours</a></li>
</ul>
</div>

@ -1,3 +1,3 @@
<div class="infoimage visible-xs">
<img src="https://data.asiahighlights.com/image/about/covid-why-us-mobile.jpg" class="img-responsive" alt="travel with confidence despite covid-19">
<img src="https://data.asiahighlights.com/image/about/covid-why-us-mobile-ah.jpg" class="img-responsive" alt="travel with confidence despite covid-19">
</div>

@ -1,3 +1,3 @@
<div class="infoimage hidden-xs">
<img src="https://data.asiahighlights.com/image/about/covid-why-us-tour-detail-pc.jpg" class="img-responsive" alt="travel with confidence despite covid-19">
<img src="https://data.asiahighlights.com/image/about/covid-why-us-ah.jpg" class="img-responsive" alt="travel with confidence despite covid-19">
</div>

@ -1,5 +1,5 @@
<div class="all_width_content hidden-xs" style="height: 574px; background: #565656;">
<div class="all_width_content_1140">
<img src="https://data.asiahighlights.com/image/about/covid-why-us-tour-list-pc.jpg" alt="travel with confidence despite covid-19">
<img src="https://data.asiahighlights.com/image/about/covid-why-us-ah.jpg" alt="travel with confidence despite covid-19">
</div>
</div>

@ -89,10 +89,11 @@
<li class="menu__item" role="menuitem"><a class="menu__link" href="/cambodia">Cambodia</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/myanmar">Myanmar</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/laos">Laos</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/southeast-asia/tours" >Southeast Asia Tours</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/tours">Top Asia Tours</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/caucasus-central-asia/tours" >Caucasus and Central Asia Tours</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/southeast-asia/tours/thailand-cambodia-and-vietnam" >Thailand, Vietnam, and Cambodia Tours</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/southeast-asia/tours/thailand-cambodia-and-vietnam" >Thailand, Vietnam, Cambodia Tours</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/destinations" >All Destinations</a></li>
</ul>
<!-- Best-time -->
<ul data-menu="submenu-2" id="submenu-2" class="menu__level" tabindex="-1" role="menu" aria-label="Best-time">

@ -0,0 +1,70 @@
<div class="tmbottom">
<div class="contactwechat"><img alt="china highlights' wechat code" height="100px" src="https://data.chinahighlights.com/image/forms/inquiry-form-code-2022.png" width="100px" />
<div class="wechatinfo">Quickly inquire via our WeChat: <span class="wechatred">chinahighlightstour</span></div>
</div>
<p>Or Submit an Inquiry Below</p>
<form action="https://www.chinahighlights.com/secureforms/qi_save" id="quick_inquiry_form" method="post" name="quick_inquiry_form" novalidate="" onsubmit="return validateQuickInquiryForm()">
<div class="InquiryBox">
<p><span class="inquiry_form_tag"><img alt="" height="25" src="https://data.chinahighlights.com/pic/input-name.png" width="25" /> <span class="form_required">*</span> </span> <input class="FullName" id="realname" name="realname" placeholder="Full name" type="text" /> <span id="realname_errmsg" style="display: none"><span class="requiredArea">Please enter your full name.</span></span></p>
<p><span class="inquiry_form_tag"><img alt="" height="25" src="https://data.chinahighlights.com/pic/input-email.png" width="25" /> <span class="form_required">*</span></span> <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 email.</span></span></p>
<p><span class="inquiry_form_tag"><img alt="" height="25" src="https://data.chinahighlights.com/pic/top10/tour-form-phone-tag-bg.png" width="25" /></span> <input class="Inquiryphone" id="PhoneNo" name="PhoneNo" placeholder="Any other way to reach you…" type="tel" /></p>
<p><span class="inquiry_form_tag"><img alt="" height="25" src="https://data.chinahighlights.com/pic/top10/tour-calendar.png" width="25" /> <span class="form_required">*</span></span><input class="InquiryCalendar form-control input" id="starting_date" placeholder="Starting date" readonly="readonly" tabindex="0" type="text" /><span id="starting_date_errmsg" style="display: none"><span class="requiredArea">Please enter your starting date.</span></span></p>
<textarea id="form_additionalrequirements" name="form_additionalrequirements" placeholder="Tell us your travel ideas/interests, how many people, your hotel style…"></textarea>
<input name="nullemail" type="hidden"> <input name="cli_no" type="hidden" value="YDFW"><button class="sendButton" id="quick_inquiry_button" name="quick_inquiry_button" type="submit">Send My Inquiry</button></div>
</form>
</div>
<script src="https://data.chinahighlights.com/js/flatpickr-4.6.1.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
flatpickr("#starting_date", {
dateFormat: "Y-m-d",
altInput: true,
altFormat: "F j, Y",
disableMobile: true,
minDate: "today"
});
});
function validateQuickInquiryForm() {
var result = true;
var realnameVal = document.getElementById("realname").value;
var emailVal = document.getElementById("email").value;
var startingDateVal = document.getElementById("starting_date").value;
var startingDateErrEl = document.getElementById("starting_date_errmsg");
var realnameErrEl = document.getElementById("realname_errmsg");
var emailErrEl = document.getElementById("email_errmsg");
var emailVerifyErrEl = document.getElementById("email_verify_errmsg");
if (realnameErrEl) realnameErrEl.style.display = 'none';
if (emailErrEl) emailErrEl.style.display = 'none';
if (emailVerifyErrEl) emailVerifyErrEl.style.display = 'none';
if (startingDateErrEl) startingDateErrEl.style.display = 'none';
if (realnameVal === '') {
realnameErrEl.style.display = '';
result = false;
}
if (emailVal === '') {
emailErrEl.style.display = '';
result = false;
} else {
var emailPattern = /^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/;
if (!emailPattern.test(emailVal) && emailVerifyErrEl) {
emailVerifyErrEl.style.display = '';
result = false;
}
}
if (startingDateVal === '') {
startingDateErrEl.style.display = '';
result = false;
}
return result;
}
</script>

@ -213,18 +213,19 @@
<p>Enjoy your personal local guide and ride. Explore destinations at your own pace. Have unparalleled flexibility, which is impossible on a group tour.</p>
</div>
</td>
<td>
<div class="bottom_why_us_content">
<img src="https://data.globalhighlights.com/image/aboutus/ah-bottom-why-us-tag-3.png" alt="Well-Selected Local Guides" class="img-responsive">
<h3>Well-Selected Local Guides</h3>
<p>Knowledgeable, enthusiastic, and attentive — your personal local guides will share interesting stories, insider information, and even create unexpected highlights!</p>
<img src="https://data.globalhighlights.com/image/aboutus/ah-bottom-why-us-tag-3.png" alt="Authentic Experiences" class="img-responsive">
<h3>Authentic Experiences</h3>
<p>Discover the hidden gems. Experience local culture by practicing it. Try new and exciting activities, and unveil the stories behind the sights and people. </p>
</div>
</td>
<td>
<div class="bottom_why_us_content">
<img src="https://data.globalhighlights.com/image/aboutus/ah-bottom-why-us-tag-4.png" alt="Authentic Experiences" class="img-responsive">
<h3>Authentic Experiences</h3>
<p>Discover the hidden gems. Experience local culture by practicing it. Try new and exciting activities, and unveil the stories behind the sights and people. </p>
<img src="https://data.chinahighlights.com/image/aboutus/feedback/ch-bottom-why-us-local-guide-tag.png" alt="Well-Selected Local Guides" class="img-responsive">
<h3>Well-Selected Local Guides</h3>
<p>Knowledgeable, enthusiastic, and attentive — your personal local guides will share interesting stories, insider information, and even create unexpected highlights!</p>
</div>
</td>
</tr>

@ -237,18 +237,19 @@
<p>Enjoy your personal local guide and ride. Explore destinations at your own pace. Have unparalleled flexibility, which is impossible on a group tour.</p>
</div>
</td>
<td>
<div class="bottom_why_us_content">
<img src="https://data.globalhighlights.com/image/aboutus/ah-bottom-why-us-tag-3.png" alt="Well-Selected Local Guides" class="img-responsive">
<h3>Well-Selected Local Guides</h3>
<p>Knowledgeable, enthusiastic, and attentive — your personal local guides will share interesting stories, insider information, and even create unexpected highlights!</p>
<img src="https://data.globalhighlights.com/image/aboutus/ah-bottom-why-us-tag-3.png" alt="Authentic Experiences" class="img-responsive">
<h3>Authentic Experiences</h3>
<p>Discover the hidden gems. Experience local culture by practicing it. Try new and exciting activities, and unveil the stories behind the sights and people. </p>
</div>
</td>
<td>
<div class="bottom_why_us_content">
<img src="https://data.globalhighlights.com/image/aboutus/ah-bottom-why-us-tag-4.png" alt="Authentic Experiences" class="img-responsive">
<h3>Authentic Experiences</h3>
<p>Discover the hidden gems. Experience local culture by practicing it. Try new and exciting activities, and unveil the stories behind the sights and people. </p>
<img src="https://data.chinahighlights.com/image/aboutus/feedback/ch-bottom-why-us-local-guide-tag.png" alt="Well-Selected Local Guides" class="img-responsive">
<h3>Well-Selected Local Guides</h3>
<p>Knowledgeable, enthusiastic, and attentive — your personal local guides will share interesting stories, insider information, and even create unexpected highlights!</p>
</div>
</td>
</tr>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta name="apple-mobile-web-app-title" content="<?php echo $TITLE ?>">
<?php if (in_array($productType,array("customize","contactus","cruiseform"))) { // 预订表单不显示 ?>
<?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 ?>">

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta name="apple-mobile-web-app-title" content="<?php echo $TITLE ?>">
<?php if (in_array($productType,array("customize","contactus","cruiseform"))) { // 预订表单不显示 ?>
<?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 ?>">

@ -0,0 +1,33 @@
<div class="info_page_inquiry">
<div class="contactwechat">
<img alt="global highlights' wechat code" height="100px" src="https://data.globalhighlights.com/image/aboutus/gh-whatsapp-qr-code.jpg" width="100px">
<div class="wechatinfo">Scan and add us on WhatsApp: <span class="wechatred">+86 15807734776</span>
Email: contact@globalhighlights.com
</div>
</div>
<p class="contactus">Or send an inquiry below</p>
<form action="/forms/inquiry_save" method="post">
<div class="InquiryFormBox">
<div class="FieldSet">
<p><input class="FullName" data-required="Please enter your fullname" id="realname" name="realname"
placeholder="Your name" required="" type="text"></p>
<p><input class="EmailAddress" data-required="Please enter your e-mail address"
data-pattern="Expecting an e-mail address" id="email" name="email" pattern="^[\w\-\.]+@[\w\-\.]+(\.\w+)+$"
placeholder="Email" required type="text"></p>
<p><input class="InquiryCalendar" data-min-date="7" id="starting_date" name="starting_date"
placeholder="Starting date" required type="date"></p>
<p><input class="Inquiryphone" name="phone" placeholder="Phone or other ways to contact you (optional)"
type="text"> </p>
<textarea id="additionalrequirements" name="additionalrequirements"
placeholder="Anniversary, honeymoon, family trip, birthday travel, beach, food..." style="margin-bottom:20px;"></textarea>
<input name="nullemail" placeholder="Your alternative email?" type="hidden">
<input id="url" name="url" type="hidden">
<!--@INPUT_PRODUCT_CODE@-->
<input id="sourcetype" name="sourcetype" type="hidden" value="32113">
<button class="sendButton" type="submit">
Send My Inquiry
</button>
</div>
</div>
</form>
</div>

@ -34,6 +34,16 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
w.gh_template_name = w.gh_template_name || 'desktop';
})(window);
</script>
<!-- Global site tag (gtag.js) - Google Ads: 996341496 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-996341496"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-996341496');
</script>
</head>
<body>

@ -1,4 +1,4 @@
<div class="why_us_covid hidden-xs">
<div class="infoimage">
<img src="https://data.globalhighlights.com/image/aboutus/gh-covid-why-us-pc.jpg" class="img-responsive" alt="travel with confidence despite covid">
<img src="https://data.globalhighlights.com/image/aboutus/covid-why-us-gh.jpg" class="img-responsive" alt="travel with confidence despite covid">
</div></div>

@ -1,4 +1,4 @@
<div class="infoimage visible-xs">
<img src="https://data.globalhighlights.com/image/aboutus/gh-covid-why-us-mobile.jpg" class="img-responsive" alt="travel with confidence despite covid">
<img src="https://data.globalhighlights.com/image/aboutus/covid-why-us-mobile-gh.jpg" class="img-responsive" alt="travel with confidence despite covid">
</div>

@ -28,7 +28,18 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
w.gh_template_name = w.gh_template_name || 'mobile';
})(window);
</script>
<!-- Global site tag (gtag.js) - Google Ads: 996341496 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-996341496"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-996341496');
</script>
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MNKHRM5"

@ -64,7 +64,7 @@ $autoload['libraries'] = array();
| $autoload['helper'] = array('url', 'file');
*/
$autoload['helper'] = array('url');
$autoload['helper'] = array('url','info');
/*

@ -0,0 +1,32 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
//const HT2SERVER = 'http://202.103.68.100:890';
const HT2SERVER = 'https://p9axztuwd7x8a7.mycht.cn';
class Weixinchat extends CI_Controller
{
public function index()
{
$this->load->view('weixinchat/welcome');
}
public function userchat($userid)
{
$data = array();
$data['userid'] = $userid;//只显示用户聊天窗口HT调用
$this->load->view('weixinchat/welcome', $data);
}
public function show_me_the_data()
{
//转发到后端的HT2.0服务器解决js跨域问题和隐藏后端服务器
$url = $this->input->post('url');
echo GET_HTTP(HT2SERVER . $url);
}
}
/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */

@ -21,6 +21,12 @@ class Welcome extends CI_Controller
public function index()
{
$this->load->view('welcome_message');
/* 钉钉的免登流程
1.获取免登授权码用js获取
2.获取AccessToken用PHP调用因为要传送appkey和appsecret安全起见不能直接用js
3.获取userid
4.获取用户详情
*/
}
public function dashboard()
@ -39,45 +45,10 @@ class Welcome extends CI_Controller
{
//转发到后端的HT2.0服务器解决js跨域问题和隐藏后端服务器
$url = $this->input->post('url');
echo $this->GET_HTTP('https://p9axztuwd7x8a7.mycht.cn' . $url);
echo GET_HTTP('https://p9axztuwd7x8a7.mycht.cn' .$url);
}
function GET_HTTP($url, $data = '', $method = 'GET')
{
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
if (isset($_SERVER['HTTP_USER_AGENT'])) {
$HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
} else {
$HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36';
}
curl_setopt($curl, CURLOPT_USERAGENT, $HTTP_USER_AGENT); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
if ($method == 'POST' && !empty($data)) {
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
}
curl_setopt($curl, CURLOPT_TIMEOUT, 45); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($httpCode >= 400) {//页面状态如果大于400说明页面打不开
log_message('error', " curl {$httpCode} {$url} ");
return false;
}
$errno = curl_errno($curl);
if ($errno !== 0) {
return false;
$error_message = $errno . ' ' . curl_error($curl); //记录错误日志
log_message('error', "train/get_http curl {$error_message}");
}
curl_close($curl); //关闭CURL会话
return $tmpInfo; //返回数据
}
}

@ -0,0 +1,38 @@
<?php
function GET_HTTP($url, $data = '', $method = 'GET')
{
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
if (isset($_SERVER['HTTP_USER_AGENT'])) {
$HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
} else {
$HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36';
}
curl_setopt($curl, CURLOPT_USERAGENT, $HTTP_USER_AGENT); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
if ($method == 'POST' && !empty($data)) {
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
}
curl_setopt($curl, CURLOPT_TIMEOUT, 45); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($httpCode >= 400) {//页面状态如果大于400说明页面打不开
log_message('error', " curl {$httpCode} {$url} ");
return false;
}
$errno = curl_errno($curl);
if ($errno !== 0) {
return false;
$error_message = $errno . ' ' . curl_error($curl); //记录错误日志
log_message('error', "train/get_http curl {$error_message}");
}
curl_close($curl); //关闭CURL会话
return $tmpInfo; //返回数据
}

@ -6,6 +6,7 @@
<link rel="stylesheet" href="/css/information-system3.css?v=201508112" type="text/css"/>
<script type="text/javascript" src="/min/?f=/js/information-system3.min.js,/js/common.js&v=20190128"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts@5.3.0/dist/echarts.min.js"></script>
<script src="https://unpkg.com/xlsx@0.18.3/dist/xlsx.full.min.js"></script>
<link rel="shortcut icon" href="/bootstrap/img/glyphicons_290_skull.png">
</head>

@ -83,7 +83,12 @@
</li>
<li>
<label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28" checked> AH亚洲项目组
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="7" checked> 市场推广
</label>
</li>
<li>
<label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28"> AH亚洲项目组
</label>
</li>
@ -152,15 +157,17 @@
<div class="col-sm-8 col-md-4">
<input name="inchina_customers_ApplydateStart" id="inchina_customers_ApplydateStart" type="text"
placeholder="开始日期"
class="form-control ShowMeTheDatePicker_cn" value="<?php echo date('Y-m-01', time()); ?>">
class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week last monday')); ?>">
</div>
<div class="col-sm-8 col-md-4">
<input name="inchina_customers_ApplydateEnd" id="inchina_customers_ApplydateEnd" type="text"
placeholder="截至日期"
class="form-control ShowMeTheDatePicker_cn" value="<?php echo date('Y-m-t', time()); ?>">
class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week sunday')); ?>">
</div>
<div class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button" onclick="updatePotentialCustomers(0);">统计</button>
<button class="btn btn-default" type="button" onclick="updateInchinaCustomers(0);">统计</button>
</div>
</div>
<br/>
@ -183,7 +190,7 @@
</div>
<div class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button"
onclick="updatePotentialCustomers(1);$('#inchina_customers_detail_box').show();">显示详情
onclick="updateInchinaCustomers(1);$('#inchina_customers_detail_box').show();">显示详情
</button>
</div>
</div>
@ -210,7 +217,13 @@
</div>
</div>
<h4 class="pull-right" onclick="$('#inchina_customers_detail_box').toggle();">订单列表 显示|隐藏</h4>
<label class="text-muted small" onclick="$('#inchina_customers_detail_box').toggle();"> 隐藏列表</label>
|
<label class="text-muted small"
onclick="let table=document.getElementById('inchina_customers_detail_box'); let excel=XLSX.utils.table_to_book(table);XLSX.writeFile(excel,'在华客人.xlsx'); ">导出excel</label>
<div class="row" style="display: none;" id="inchina_customers_detail_box">
<div class="col-sm-24 col-md-24">
<div class="table-responsive">
@ -243,7 +256,7 @@
</div>
<script type="text/javascript">
function updatePotentialCustomers(showDetail) {
function updateInchinaCustomers(showDetail) {
let inchina_customers_ApplydateCheck = $('#inchina_customers_ApplydateCheck').prop("checked") ? $('#inchina_customers_ApplydateCheck').val() : 0;
let inchina_customers_ApplydateStart = $('#inchina_customers_ApplydateStart').val();
let inchina_customers_ApplydateEnd = $('#inchina_customers_ApplydateEnd').val();
@ -260,7 +273,7 @@
$.modaldialog.error("请检查必填项");
return false;
}
showDetail == 0 ? document.getElementById('inchina_customers').innerHTML = '' : document.getElementById('inchina_customers_detail').innerHTML = '';
$.ajax({
type: "post",
dataType: "json",
@ -269,16 +282,15 @@
"url": '/service-tourdesign/RegularCusInChinaOrder?Website=' + websiteList
+ '&ApplydateCheck=' + inchina_customers_ApplydateCheck
+ '&ApplydateStart=' + inchina_customers_ApplydateStart
+ '&ApplydateEnd=' + inchina_customers_ApplydateEnd
+ '&ApplydateEnd=' + inchina_customers_ApplydateEnd + '%2023:59'
+ '&EntrancedateCheck=' + inchina_customers_EntrancedateCheck
+ '&EntrancedateStart=' + inchina_customers_EntrancedateStart
+ '&EntrancedateEnd=' + inchina_customers_EntrancedateEnd
+ '&EntrancedateEnd=' + inchina_customers_EntrancedateEnd + '%2023:59'
+ '&DEI_SNList=' + DEI_SNList
+ '&IsDetail=' + showDetail,
},
success: function (data, textStatus) {
if (showDetail == 0) { //显示统计信息
document.getElementById('inchina_customers').innerHTML = '';
for (let key in data) {
let tr = document.createElement('tr');
let td_ItemName = document.createElement('td');
@ -302,7 +314,6 @@
document.getElementById('inchina_customers').appendChild(tr);
}
} else {
document.getElementById('inchina_customers_detail').innerHTML = '';
for (let key in data) {
let tr = document.createElement('tr');
let td_index = document.createElement('td');

@ -22,7 +22,11 @@
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28" checked> AH亚洲项目组
</label>
</li>
<li>
<label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="7" checked> 市场推广
</label>
</li>
<li>
<label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_8" name="DEI_SNList" value="8"> 德语市场
@ -134,7 +138,7 @@
dataType: "json",
url: "<?php echo site_url('welcome/show_me_the_data')?>",
data: {
"url": '/service-tourdesign/CountYDOrder?ApplydateStart=' + ApplydateStart + '&ApplydateEnd=' + ApplydateEnd + '&DEI_SNList=' + DEI_SNList,
"url": '/service-tourdesign/CountYDOrder?ApplydateStart=' + ApplydateStart + '&ApplydateEnd=' + ApplydateEnd + '%2023:59&DEI_SNList=' + DEI_SNList,
},
success: function (data, textStatus) {
document.getElementById('mobile_deal').innerHTML = '';

@ -9,7 +9,7 @@
</label>
</li>
<li><label class="checkbox-inline">
<input type="checkbox" id="website_ALL" name="website" value="ALL" checked> ALL
<input type="checkbox" id="website_ALL" name="website" value="ALL"> ALL
</label>
</li>
<li><label class="checkbox-inline">
@ -17,7 +17,7 @@
</label>
</li>
<li><label class="checkbox-inline">
<input type="checkbox" id="website_GHKHYY" name="website" value="GHKHYY"> GH客户运营中心
<input type="checkbox" id="website_GHKHYY" name="website" value="GHKHYY" checked> GH客户运营中心
</label>
</li>
<li><label class="checkbox-inline">
@ -83,7 +83,12 @@
</li>
<li>
<label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28" checked> AH亚洲项目组
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="7" checked> 市场推广
</label>
</li>
<li>
<label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28"> AH亚洲项目组
</label>
</li>
@ -152,12 +157,14 @@
<div class="col-sm-8 col-md-4">
<input name="potential_customers_ApplydateStart" id="potential_customers_ApplydateStart" type="text"
placeholder="开始日期"
class="form-control ShowMeTheDatePicker_cn" value="<?php echo date('Y-m-01', time()); ?>">
class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week last monday')); ?>">
</div>
<div class="col-sm-8 col-md-4">
<input name="potential_customers_ApplydateEnd" id="potential_customers_ApplydateEnd" type="text"
placeholder="截至日期"
class="form-control ShowMeTheDatePicker_cn" value="<?php echo date('Y-m-t', time()); ?>">
class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week sunday')); ?>">
</div>
<div class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button" onclick="updatePotentialCustomers(0);">统计</button>
@ -209,7 +216,11 @@
</div>
</div>
<h4 class="pull-right" onclick="$('#potential_customers_detail_box').toggle();">订单列表 显示|隐藏</h4>
<label class="text-muted small" onclick="$('#potential_customers_detail_box').toggle();"> 隐藏列表</label>
|
<label class="text-muted small" onclick="let table=document.getElementById('potential_customers_detail_box'); let excel=XLSX.utils.table_to_book(table);XLSX.writeFile(excel,'潜力客户.xlsx'); ">导出excel</label>
<div class="row" style="display: none;" id="potential_customers_detail_box">
<div class="col-sm-24 col-md-24">
<div class="table-responsive">
@ -259,7 +270,7 @@
$.modaldialog.error("请检查必填项");
return false;
}
showDetail == 0 ? document.getElementById('potential_customers').innerHTML = '' : document.getElementById('potential_customers_detail').innerHTML = '';
$.ajax({
type: "post",
dataType: "json",
@ -268,37 +279,35 @@
"url": '/service-tourdesign/PotentialCusOrder?Website=' + websiteList
+ '&ApplydateCheck=' + potential_customers_ApplydateCheck
+ '&ApplydateStart=' + potential_customers_ApplydateStart
+ '&ApplydateEnd=' + potential_customers_ApplydateEnd
+ '&ApplydateEnd=' + potential_customers_ApplydateEnd+'%2023:59'
+ '&EntrancedateCheck=' + potential_customers_EntrancedateCheck
+ '&EntrancedateStart=' + potential_customers_EntrancedateStart
+ '&EntrancedateEnd=' + potential_customers_EntrancedateEnd
+ '&EntrancedateEnd=' + potential_customers_EntrancedateEnd+'%2023:59'
+ '&DEI_SNList=' + DEI_SNList
+ '&IsDetail=' + showDetail,
},
success: function (data, textStatus) {
if (showDetail == 0) { //显示统计信息
document.getElementById('potential_customers').innerHTML = '';
for (let key in data) {
let tr = document.createElement('tr');
let td_AllOrderNum = document.createElement('td');
let td_SUCNum = document.createElement('td');
let td_OrderNum = document.createElement('td');
let td_SUCOrderNum = document.createElement('td');
let td_SUCRate = document.createElement('td');
let td_ML = document.createElement('td');
let td_PersonNum = document.createElement('td');
td_AllOrderNum.innerHTML = data[key].AllOrderNum;
td_SUCNum.innerHTML = data[key].SUCNum;
td_OrderNum.innerHTML = data[key].OrderNum;
td_SUCOrderNum.innerHTML = data[key].SUCOrderNum;
td_SUCRate.innerHTML = (data[key].SUCRate * 100).toFixed(1) + '%';
td_ML.innerHTML = data[key].ML;
td_PersonNum.innerHTML = data[key].PersonNum;
tr.appendChild(td_AllOrderNum);
tr.appendChild(td_SUCNum);
tr.appendChild(td_OrderNum);
tr.appendChild(td_SUCOrderNum);
tr.appendChild(td_SUCRate);
tr.appendChild(td_ML);
tr.appendChild(td_PersonNum);
document.getElementById('potential_customers').appendChild(tr);
}
} else {
document.getElementById('potential_customers_detail').innerHTML = '';
for (let key in data) {
let tr = document.createElement('tr');
let td_index = document.createElement('td');

@ -83,7 +83,12 @@
</li>
<li>
<label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28" checked> AH亚洲项目组
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="7" checked> 市场推广
</label>
</li>
<li>
<label class="checkbox-inline">
<input type="checkbox" id="DEI_SNList_28" name="DEI_SNList" value="28"> AH亚洲项目组
</label>
</li>
@ -152,15 +157,17 @@
<div class="col-sm-8 col-md-4">
<input name="regular_customers_ApplydateStart" id="regular_customers_ApplydateStart" type="text"
placeholder="开始日期"
class="form-control ShowMeTheDatePicker_cn" value="<?php echo date('Y-m-01', time()); ?>">
class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week last monday')); ?>">
</div>
<div class="col-sm-8 col-md-4">
<input name="regular_customers_ApplydateEnd" id="regular_customers_ApplydateEnd" type="text"
placeholder="截至日期"
class="form-control ShowMeTheDatePicker_cn" value="<?php echo date('Y-m-t', time()); ?>">
class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week sunday')); ?>">
</div>
<div class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button" onclick="updatePotentialCustomers(0);">统计</button>
<button class="btn btn-default" type="button" onclick="updateRegularCustomers(0);">统计</button>
</div>
</div>
<br/>
@ -183,7 +190,7 @@
</div>
<div class="col-sm-4 col-md-2">
<button class="btn btn-default" type="button"
onclick="updatePotentialCustomers(1);$('#regular_customers_detail_box').show();">显示详情
onclick="updateRegularCustomers(1);$('#regular_customers_detail_box').show();">显示详情
</button>
</div>
</div>
@ -210,7 +217,12 @@
</div>
</div>
<h4 class="pull-right" onclick="$('#regular_customers_detail_box').toggle();">订单列表 显示|隐藏</h4>
<label class="text-muted small" onclick="$('#regular_customers_detail_box').toggle();"> 隐藏列表</label>
|
<label class="text-muted small" onclick="let table=document.getElementById('regular_customers_detail_box'); let excel=XLSX.utils.table_to_book(table);XLSX.writeFile(excel,'老客户.xlsx'); ">导出excel</label>
<div class="row" style="display: none;" id="regular_customers_detail_box">
<div class="col-sm-24 col-md-24">
<div class="table-responsive">
@ -243,7 +255,7 @@
</div>
<script type="text/javascript">
function updatePotentialCustomers(showDetail) {
function updateRegularCustomers(showDetail) {
let regular_customers_ApplydateCheck = $('#regular_customers_ApplydateCheck').prop("checked") ? $('#regular_customers_ApplydateCheck').val() : 0;
let regular_customers_ApplydateStart = $('#regular_customers_ApplydateStart').val();
let regular_customers_ApplydateEnd = $('#regular_customers_ApplydateEnd').val();
@ -260,7 +272,7 @@
$.modaldialog.error("请检查必填项");
return false;
}
showDetail == 0 ? document.getElementById('regular_customers').innerHTML = '' : document.getElementById('regular_customers_detail').innerHTML = '';
$.ajax({
type: "post",
dataType: "json",
@ -269,16 +281,15 @@
"url": '/service-tourdesign/RegularCusOrder?Website=' + websiteList
+ '&ApplydateCheck=' + regular_customers_ApplydateCheck
+ '&ApplydateStart=' + regular_customers_ApplydateStart
+ '&ApplydateEnd=' + regular_customers_ApplydateEnd
+ '&ApplydateEnd=' + regular_customers_ApplydateEnd+'%2023:59'
+ '&EntrancedateCheck=' + regular_customers_EntrancedateCheck
+ '&EntrancedateStart=' + regular_customers_EntrancedateStart
+ '&EntrancedateEnd=' + regular_customers_EntrancedateEnd
+ '&EntrancedateEnd=' + regular_customers_EntrancedateEnd+'%2023:59'
+ '&DEI_SNList=' + DEI_SNList
+ '&IsDetail=' + showDetail,
},
success: function (data, textStatus) {
if (showDetail == 0) { //显示统计信息
document.getElementById('regular_customers').innerHTML = '';
for (let key in data) {
let tr = document.createElement('tr');
let td_ItemName = document.createElement('td');
@ -302,7 +313,6 @@
document.getElementById('regular_customers').appendChild(tr);
}
} else {
document.getElementById('regular_customers_detail').innerHTML = '';
for (let key in data) {
let tr = document.createElement('tr');
let td_index = document.createElement('td');

@ -0,0 +1,260 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>微信会话存档</title>
<link rel="stylesheet" href="/css/information-system3.css?v=201508112" type="text/css"/>
<script type="text/javascript" src="/min/?f=/js/information-system3.min.js,/js/common.js&v=20190128"></script>
<link rel="shortcut icon" href="/bootstrap/img/glyphicons_290_skull.png">
<style type="text/css">
<?php echo empty($userid)?'':'.useridandhidden{display:none;}'; ?>
</style>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-md-5 useridandhidden">
<h4>成员列表</h4>
<div class="list-group" id="permit_user_list">
</div>
</div>
<div class="col-md-5 useridandhidden">
<H4>客户列表 <span class="badge" id="externalcontact_count">0</span> <small class="pull-right">
<a>私聊信息</a> |
<a>群聊信息</a>
</small></h4>
<div class="well well-sm">
<form class="form-inline">
<div class="form-group">
<input type="text" class="form-control" id="contact_search_username" placeholder="搜索客人">
</div>
<button type="button" class="btn btn-default"
onclick="get_externalcontact_list(0,$('#contact_search_username').val());">搜索
</button>
</form>
</div>
<div class="list-group" id="externalcontact_list" style="overflow-y: scroll;max-height: 680px;">
</div>
</div>
<div class="col-md-14">
<h4>聊天记录</h4>
<div class="well well-sm useridandhidden">
<form class="form-inline">
<a>近一周</a> |
<a>近一月</a>
<div class="form-group">
<input name="potential_customers_ApplydateStart" id="potential_customers_ApplydateStart"
type="text"
placeholder="开始日期"
class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week last monday')); ?>">
</div>
<div class="form-group">
<input name="potential_customers_ApplydateStart" id="potential_customers_ApplydateStart"
type="text"
placeholder="结束时间"
class="form-control ShowMeTheDatePicker_cn"
value="<?php echo date('Y-m-d', strtotime('-1 week last monday')); ?>">
</div>
<div class="form-group">
<input type="text" class="form-control" id="exampleInputName2" placeholder="搜索关键词">
</div>
<button type="button" class="btn btn-default" disabled>搜索</button>
</form>
</div>
<div id="chat_msg_list" class="row" style="overflow-y: scroll;max-height: 680px;">
</div>
<nav aria-label="Page navigation" class="text-center">
<ul class="pagination" id="chat_msg_list_page_nav">
</ul>
</nav>
</div>
</div>
</div>
<script type="text/javascript">
//ES6转ES5HT只能调用IE来显示 https://babeljs.io/repl
$(document).ready(function () {
<?php echo empty($userid) ? 'get_permit_user_list();' : "get_chat_msg_list('{$userid}',0);" ?>
});
let g_permit_user = '';//当前选择的顾问
let g_externalcontact_user = '';//当前选中的客人
//获取会话存档的用户列表
function get_permit_user_list() {
$.ajax({
type: "post",
dataType: "json",
url: "<?php echo site_url('weixinchat/show_me_the_data')?>",
data: {
"url": '/weixin/wxwork/get_permit_user_list'
},
success: function (data, textStatus) {
document.getElementById('permit_user_list').innerHTML = '';
permit_user_list = '';
data.Result && data.errcode == '0' && data.Result.forEach(function (item) {
permit_user_list += `
<a href="javascript:void(0);" onclick="get_externalcontact_list('${item.userid}');g_permit_user='${item.userid}';" class="list-group-item">
<div class="row">
<div class="col-md-4" style="padding: 0 0 0 15px;">
<img src="${item.avatar}" class="img-responsive">
</div>
<div class="col-md-20">
<div>
<div class="list-group-item-heading">${item.username}</div>
<p class="list-group-item-text">${item.userid}</p>
</div>
</div>
</div>
</a>
`;
})
document.getElementById('permit_user_list').innerHTML = permit_user_list;
},
error: function () {
$.modaldialog.error("\u53d1\u751f\u9519\u8bef\uff0c\u8bf7\u8054\u7cfbYCC")
}
})
}
//获取客户列表
function get_externalcontact_list(permit_user, username = '') {
if (!permit_user && g_permit_user) {
permit_user = g_permit_user;
}
$.ajax({
type: "post",
dataType: "json",
url: "<?php echo site_url('weixinchat/show_me_the_data')?>",
data: {
"url": '/weixin/wxwork/get_externalcontact_list?userid=' + permit_user + '&searchstr=' + username,
},
success: function (data, textStatus) {
document.getElementById('chat_msg_list').innerHTML = '';
document.getElementById('externalcontact_count').innerHTML = '0';
externalcontact_list = '';
data.Result && data.errcode == '0' && data.Result.forEach(item => {
externalcontact_list += `
<a href="javascript:void(0);" onclick="get_chat_msg_list('${item.userid}',0);g_externalcontact_user='${item.userid}';" class="list-group-item">
<div class="row">
<div class="col-md-4" style="padding: 0 0 0 15px;">
<img src="${item.avatar}" class="img-responsive">
</div>
<div class="col-md-20">
<div>
<div class="list-group-item-heading">${item.username}</div>
<p class="list-group-item-text"></p>
</div>
</div>
</div>
</a>
`;
})
document.getElementById('externalcontact_list').innerHTML = externalcontact_list;
document.getElementById('externalcontact_count').innerHTML = data.Result.length;
},
error: function () {
$.modaldialog.error("\u53d1\u751f\u9519\u8bef\uff0c\u8bf7\u8054\u7cfbYCC")
}
})
}
//获取聊天记录
const chat_page_count = 20;//每页消息数
function get_chat_msg_list(user_id, chat_page) {
$.ajax({
type: "post",
dataType: "json",
url: "<?php echo site_url('weixinchat/show_me_the_data')?>",
data: {
"url": `/weixin/wxwork/GetChatmsg?external_userid=${user_id}&Page_count=${chat_page_count}&curr_page=${chat_page}`,
},
success: function (data, textStatus) {
//消息框内容
document.getElementById('chat_msg_list').innerHTML = '';
let chat_msg_list = '';
data.chatmsg && data.errcode == '0' && data.chatmsg.forEach(item => {
let content = '';//消息内容
switch (item.msgtype) {
case 'image':
content = `<img src="${item.content.imageurl}" class="img-responsive">`;
break;
case 'text':
content = item.content.text;
break;
case 'link':
content = `<a href="${item.content.link_url}" target="_blank" title="${item.content.description}">${item.content.title}</a>`;
break;
case 'revoke':
content = `<small>撤回了一条消息</small>`;
break;
case 'file':
content = `<a href="${item.content.fileurl}" target="_blank" title="${item.content.filename}">${item.content.filename}</a>`;
break;
case 'emotion':
content = `<img src="${item.content.emotion}" class="img-responsive">`;
break;
default://未识别的内容,提示识别
content = '未识别的消息类型:' + item.msgtype;
}
chat_msg_list += `
<div class="col-md-2" style="padding: 0 0 0 10px;">
<img src="${item.from_avatar}"
class="img-responsive">
</div>
<div class="col-md-22">
<p class="ptext-muted">${item.from_name} <small>${timestamp_to_date(item.msgtime)}</small></p>
<div class="panel panel-default">
<div class="panel-body">
${content}
</div>
</div>
</div>
`;
})
document.getElementById('chat_msg_list').innerHTML = chat_msg_list;
//滚动条到最底部
document.getElementById('chat_msg_list').scrollTop = document.getElementById('chat_msg_list').scrollHeight;
//分页导航
let chat_msg_list_page_nav = '';
document.getElementById('chat_msg_list_page_nav').innerHTML = '';
if (data.chatpage && data.errcode == '0') {
let external_userid = data.external_userid;
let chat_page_curr = data.chatpage.currpage;
let chat_page_total = data.chatpage.totalpage;
for (let page_nav_index = 0; page_nav_index < chat_page_total; page_nav_index++) {
chat_msg_list_page_nav += `<li class="${chat_page_curr == page_nav_index + 1 ? 'active' : ''}"><a href="javascript:void(0);" onclick="get_chat_msg_list('${external_userid}',${page_nav_index + 1})">${page_nav_index + 1}</a></li>`;
}
document.getElementById('chat_msg_list_page_nav').innerHTML = chat_msg_list_page_nav;
}
},
error: function () {
$.modaldialog.error("\u53d1\u751f\u9519\u8bef\uff0c\u8bf7\u8054\u7cfbYCC")
}
})
}
function timestamp_to_date(timestamp) {
let date = new Date(timestamp);
return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds();
}
</script>
</body>
</html>

@ -6,8 +6,17 @@
<link rel="stylesheet" href="/css/information-system3.css?v=201508112" type="text/css"/>
<script type="text/javascript" src="/min/?f=/js/information-system3.min.js,/js/common.js&v=20190128"></script>
<script src="https://g.alicdn.com/dingding/dingtalk-jsapi/2.13.42/dingtalk.open.js"></script>
<script src="https://g.alicdn.com/code/npm/@ali/dingtalk-h5-remote-debug-sdk/0.1.3/app.bundle.js"></script>
<script>
h5RemoteDebugSdk.init({
uuid: "f3edb181-0ead-422c-a460-ea526d1e6623",
observerElement: document.documentElement,
});
</script>
<link rel="shortcut icon" href="/bootstrap/img/glyphicons_290_skull.png">
<script type="text/javascript">
function login_dingtalk(){
dd.runtime.permission.requestAuthCode({
corpId: "ding48bce8fd3957c96b",
onSuccess: function (res) {
@ -19,6 +28,11 @@
console.log(err)
}
});
}
$(document).ready(function () {
});
</script>
</head>
<body>
@ -27,6 +41,7 @@
<div class="container-fluid">
<div class="row">
<div class="col-sm-24 col-md-12">Welcome</div>
<input type="button" value="test" onclick="login_dingtalk();">
</div>
</div>

Loading…
Cancel
Save