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

hotfix/paypal-note
赵鹏 3 years ago
commit 29bf977940

@ -626,18 +626,19 @@ class Information extends CI_Controller
$template = str_replace('<!--@KEYWORDS@-->', $information->ic_seo_keywords, $template);
$template = str_replace('<!--@CANONICAL@-->', $this->config->item('site_url') . $information->ic_url, $template);
// 动态加载反馈标签
// HTLM: <div><!--@FEEDBACK_Shanghai@--></div>
// 解析结果:<!--@FEEDBACK_Shanghai@-->, Shanghai
// 动态加载反馈标签,第一个城市不足八条,使用第二城市数据。
// HTLM: <div><!--@FEEDBACK_Shanghai,Beijing@--></div>
// 解析结果:<!--@FEEDBACK_Shanghai,Beijing@-->; Shanghai,Beijing
$feedback_array = [];
preg_match_all('^<!--@FEEDBACK_(.*)@-->^', $information->ic_content, $feedback_array);
if (!empty($feedback_array)) {
foreach ($feedback_array[0] as $index => $tag_name) {
$city_name = $feedback_array[1][$index];
$feedback_data = $this->Feedback_model->get_feedback_by_city($city_name);
$city_name_string = $feedback_array[1][$index];
$city_name_list = explode(',', $city_name_string);
$feedback_list = $this->Feedback_model->get_feedback_by_city_list($city_name_list);
$feedback_content = $this->load->view(
$template_path . '-feedback',
array('feedback_data' => $feedback_data),
$template_path . '-feedback-list',
array('feedback_list' => $feedback_list),
true);
$information->ic_content = str_replace(
$tag_name,

@ -88,6 +88,8 @@ class Sendmail extends CI_Controller
{
//成功发送
$m->M_Web!='paypal msg' && $order_condition=" or (M_ToEmail='$m->M_ToEmail' and M_ToName='$m->M_ToName' and M_Title='$m->M_Title') ";
$this->Logs_model->write('send_mail_success',$m->M_SN,'成功发送:'.$m->M_ToEmail);
echo 'ok';
}
}

@ -6,22 +6,23 @@
<p style=" font-size: 22px;"><strong>Select Date</strong></p>
<div class="selectHotl">
<div class="optionLable">
<input type="radio" value="2022-11-08" checked id="November 8th" name="ticket_date">
<label for="November 8th">
<input type="radio" value="2022-11-08" checked id="november8th" name="ticket_date">
<label for="november8th">
November 8th, 2022
</label>
</div>
<div class="optionLable">
<input type="radio" value="2022-11-09" id="November 9th" name="ticket_date">
<label for="November 9th">
<input type="radio" value="2022-11-09" id="november9th" name="ticket_date">
<label for="november9th">
November 9th, 2022
</label>
</div>
</div>
<p style="margin-top: -30px;">The premium tickets for Nov. 8 are sold out, but for the Nov. 9 are still available.</p>
<p style=" font-size: 22px;"><strong>Select Ticket Type</strong></p>
<div class="selectHotl">
<div class="optionLable">
<input type="radio" value="Premium + Free Transfer" checked id="Premium" name="ticket_type">
<div class="optionLable" id="ticket_type_premium" style="display: none;">
<input type="radio" value="Premium + Free Transfer" id="Premium" name="ticket_type">
<label for="Premium">
Premium + Free Transfer
<div class="selectionMemo">
@ -30,7 +31,7 @@
</label>
</div>
<div class="optionLable">
<input type="radio" value="VIP + Free Transfer" id="VIP" name="ticket_type">
<input type="radio" value="VIP + Free Transfer" checked id="VIP" name="ticket_type">
<label for="VIP">
VIP + Free Transfer
<div class="selectionMemo">
@ -60,7 +61,7 @@
</div>
</div>
<p>Children under 8 years old enter free; 8-year-olds and above are charged the same as adults. You can buy a ticket for your child under 8 if you would like her or him to enjoy the same provision.</p>
<div class="payonline_price">Total price: <strong id="totalPriceText">$179</strong></div>
<div class="payonline_price">Total price: <strong id="totalPriceText">$159</strong></div>
<p style="margin-top: 50px;"><strong>Please provide correct personal information for your ticket
booking. Double
check.</strong></p>
@ -689,8 +690,9 @@
var totalPriceText = document.getElementById("totalPriceText");
var totalPriceHidden = document.getElementById("totalPriceHidden");
var adultNumberValue = parseInt(adultNumberNode.value);
var ticketPrice = 179;
var ticketPrice = 159;
totalPriceHidden.value = ticketPrice * adultNumberValue;
totalPriceText.innerText = '$'+ticketPrice;
for (var i = 0; i < ticketTypeList.length; i++) {
var ticketTypeNode = ticketTypeList[i];
ticketTypeNode.addEventListener('click', function(event) {
@ -708,6 +710,22 @@
totalPriceHidden.value = totalPrice;
});
}
var ticketDateList = document.querySelectorAll("input[name='ticket_date']");
var ticketTypePremium = document.getElementById("ticket_type_premium");
for (var i = 0; i < ticketDateList.length; i++) {
var ticketDateNode = ticketDateList[i];
ticketDateNode.addEventListener('click', function(event) {
var currentTarget = event.currentTarget;
// 8 号的 premium 票卖完了
if (currentTarget.id === 'november8th') {
ticketTypePremium.style.display = 'none';
} else {
ticketTypePremium.style.display = '';
}
});
}
var plusButton = document.getElementById("plusButton");
var minusButton = document.getElementById("minusButton");
plusButton.addEventListener('click', function(event) {

@ -6,22 +6,23 @@
<p style=" font-size: 22px;"><strong>Select Date</strong></p>
<div class="selectHotl">
<div class="optionLable">
<input type="radio" value="2022-11-08" checked id="November 8th" name="ticket_date">
<label for="November 8th">
<input type="radio" value="2022-11-08" checked id="november8th" name="ticket_date">
<label for="november8th">
November 8th, 2022
</label>
</div>
<div class="optionLable">
<input type="radio" value="2022-11-09" id="November 9th" name="ticket_date">
<label for="November 9th">
<input type="radio" value="2022-11-09" id="november9th" name="ticket_date">
<label for="november9th">
November 9th, 2022
</label>
</div>
</div>
<p style="margin-top: -30px;">The premium tickets for Nov. 8 are sold out, but for the Nov. 9 are still available.</p>
<p style=" font-size: 22px;"><strong>Select Ticket Type</strong></p>
<div class="selectHotl">
<div class="optionLable">
<input type="radio" value="Premium + Free Transfer" checked id="Premium" name="ticket_type">
<div class="optionLable" id="ticket_type_premium" style="display: none;">
<input type="radio" value="Premium + Free Transfer" id="Premium" name="ticket_type">
<label for="Premium">
Premium + Free Transfer
<div class="selectionMemo">
@ -30,7 +31,7 @@
</label>
</div>
<div class="optionLable">
<input type="radio" value="VIP + Free Transfer" id="VIP" name="ticket_type">
<input type="radio" value="VIP + Free Transfer" checked id="VIP" name="ticket_type">
<label for="VIP">
VIP + Free Transfer
<div class="selectionMemo">
@ -60,12 +61,10 @@
</div>
</div>
<p>Children under 8 years old enter free; 8-year-olds and above are charged the same as adults. You can buy a ticket for your child under 8 if you would like her or him to enjoy the same provision.</p>
<div class="payonline_price">Total price: <strong id="totalPriceText">$179</strong></div>
<div class="payonline_price">Total price: <strong id="totalPriceText">$159</strong></div>
<p style="margin-top: 50px;"><strong>Please provide correct personal information for your ticket
booking. Double
check.</strong></p>
<input class="FullName" id="ticket_realname" name="fullname"
placeholder="Your name * (exactly as in your passport)" required="" type="text" value="" />
<div id="ticket_realname_errmsg" style="display: none">
@ -688,8 +687,9 @@
var totalPriceText = document.getElementById("totalPriceText");
var totalPriceHidden = document.getElementById("totalPriceHidden");
var adultNumberValue = parseInt(adultNumberNode.value);
var ticketPrice = 179;
var ticketPrice = 159;
totalPriceHidden.value = ticketPrice * adultNumberValue;
totalPriceText.innerText = '$'+ticketPrice;
for (var i = 0; i < ticketTypeList.length; i++) {
var ticketTypeNode = ticketTypeList[i];
ticketTypeNode.addEventListener('click', function(event) {
@ -707,6 +707,23 @@
totalPriceHidden.value = totalPrice;
});
}
var ticketDateList = document.querySelectorAll("input[name='ticket_date']");
var ticketTypePremium = document.getElementById("ticket_type_premium");
for (var i = 0; i < ticketDateList.length; i++) {
var ticketDateNode = ticketDateList[i];
ticketDateNode.addEventListener('click', function(event) {
var currentTarget = event.currentTarget;
// 8 号的 premium 票卖完了
if (currentTarget.id === 'november8th') {
ticketTypePremium.style.display = 'none';
} else {
ticketTypePremium.style.display = '';
}
});
}
var plusButton = document.getElementById("plusButton");
var minusButton = document.getElementById("minusButton");
plusButton.addEventListener('click', function(event) {

@ -0,0 +1,21 @@
<h2 style="text-align:center;">What Our Customers Said</h2>
<p><img src="https://data.chinahighlights.com/image/feedback/2022-CH-TA-certificate.jpg" class="img-responsive" style="margin: 0 auto;"></p>
<div class="table-responsive">
<table>
<tbody>
<tr>
<?php foreach ($feedback_list as $index => $feedback) {?>
<td>
<div class="tour_feedback">
<div class="feedback_content">
<strong><?php echo $feedback['title'] ?></strong>
<p><?php echo $feedback['content'] ?></p>
<a href="<?php echo $feedback['url'] ?>" target="_blank">more</a></div>
<div class="customer_name"><?php echo $feedback['createdOn'] ?>, <?php echo $feedback['customer'] ?></div>
<img alt="" class="img-responsive" height="40" width="211" src="https://data.chinahighlights.com/image/aboutus/feedback/five-star.png" ></div>
</td>
<?php }?>
</tr>
</tbody>
</table>
</div>

@ -1,14 +1,11 @@
<h2 style="text-align:center;">About China Highlights</h2>
<p style="text-align: center;">Since 1998 we've guided everyone ranging from US presidents, Australian Geographic and retired backpackers. Our goal is to create unique trips that take you off-the-beaten path, helping you discover China in a more authentic way. Our motto: "Discovery Your Way!"</p>
<h2 style="text-align:center;">What Our Customers Said</h2>
<div class="feedback_content_right" style="width: 100%; margin-bottom: 50px;">
<div class="feedback_content" style="box-shadow: 0px 0px 8px 2px #d1d1d1;">
<div class="photoBlock300" style="width: auto;"><img alt="Trip Advisor travelers' choice 2022" src="https://data.chinahighlights.com/image/aboutus/china-highlights-ta-certificate-2022.jpg" width="128" height="150" class="img-responsive" ></div>
<p><strong><?php echo $feedback_data['title'] ?></strong></p>
<img alt="" class="feedback-rate" src="https://data.chinahighlights.com/image/aboutus/feedback/five-star.png" width="104" height="20"><div class="review_date">reviewed <?php echo $feedback_data['createdOn'] ?>, <?php echo $feedback_data['customer'] ?></div>
<p><?php echo $feedback_data['content'] ?>&nbsp;<a href="<?php echo $feedback_data['url'] ?>" target="_blank">more</a></p>
</div>
</div>

@ -68,7 +68,8 @@
</li>
<li class="dropdown"><a href="/citytour/" class="p_topnavilink" id="china_destinations_2021">Destinations</a>
<div class="destinationspc dropdown-content">
<ul class="list-reset sidebar">
<ul class="list-reset sidebar">
<li class="start-nav-item" ><a href="/harbin/tours.htm" id="harbin_tours_2021">Harbin</a></li>
<li class="start-nav-item" ><a href="/tibet/tours.htm" id="tibet_tours_2021">Tibet</a></li>
<li class="start-nav-item" ><a href="/yunnan/tours.htm" id="yunnan_tours_2021">Yunnan</a></li>
<li class="start-nav-item" ><a href="/guilin/tours.htm" id="guilin_tours_2021">Guilin</a></li>
@ -77,7 +78,9 @@
<li class="start-nav-item" ><a href="/huangshan/tours.htm" id="huangshan_tours_2021">Huangshan</a></li>
<li class="start-nav-item" ><a href="/xiamen/tours.htm" id="xiamen_tours_2021">Xiamen</a></li>
<li class="start-nav-item" ><a href="/xinjiang/tours/" id="xinjiang_tours_2021">Xinjiang</a></li>
<li class="start-nav-item" ><a href="/inner-mongolia/tours/" id="inner_mongolia_tours_2021">Inner Mongolia</a></li>
<li class="start-nav-item" ><a href="/inner-mongolia/tours/" id="inner_mongolia_tours_2021">Inner Mongolia</a></li>
<li class="start-nav-item" ><a href="/guizhou/tours.htm" id="guizhou_tours_2021">Guizhou</a></li>
<li class="start-nav-item" ><a href="/hong-kong/tours.htm" id="hk_tours_2021">Hong Kong</a></li>
<li class="start-nav-item" ><a href="/beijing/tours.htm" id="beijing_tours_2021">Beijing</a></li>
<li class="start-nav-item" ><a href="/xian/tours.htm" id="xian_tours_2021">Xi&#39;an</a></li>
<li class="start-nav-item start-nav-item-last" ><a href="/shanghai/tours.htm" id="shanghai_tours_2021">Shanghai</a></li>
@ -157,7 +160,7 @@
</div>
</nav>
</header>
<div class="updated_news"><div class="list_content">Live updates on China travel restrictions for 2022. <a href="/travelguide/china-travel-reopen-restrictions.htm" id="updated_news_new_year_2022_pc">Learn more</a></div></div>
<div class="updated_news"><div class="list_content">Harbin Ice and Snow Festival 2022/2023: Dates, Tickets, Tips & Tours <a href="/festivals/harbin-ice-and-snow-festival.htm" id="updated_news_new_year_2022_pc">Learn more</a></div></div>
<!--@TOP-BANNER@-->
<!--@TOP-VIDEO@-->
<div class="main_content">

@ -43,7 +43,7 @@
</div>
</div>
</header>
<div class="updated_news"><div class="list_content">Live updates on China travel restrictions for 2022. <a href="/travelguide/china-travel-reopen-restrictions.htm" id="updated_news_new_year_2022_mobile">Learn more</a></div></div>
<div class="updated_news"><div class="list_content">Harbin Ice and Snow Festival 2022/2023: Dates, Tickets, Tips & Tours <a href="/festivals/harbin-ice-and-snow-festival.htm" id="updated_news_new_year_2022_mobile">Learn more</a></div></div>
<!---->
<nav id="ml-menu" class="menu">
@ -111,6 +111,7 @@
<ul data-menu="submenu-2" id="submenu-2" class="menu__level" tabindex="-1" role="menu"
aria-label="Destinations">
<li class="menu__item" role="menuitem"><a class="menu__link" href="/citytour/">Destinations</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/harbin/tours.htm">Harbin</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/tibet/tours.htm">Tibet</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/yunnan/tours.htm">Yunnan</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/guilin/tours.htm">Guilin</a></li>
@ -119,7 +120,9 @@
<li class="menu__item" role="menuitem"><a class="menu__link" href="/huangshan/tours.htm">Huangshan</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/xiamen/tours.htm">Xiamen</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/xinjiang/tours/">Xinjiang</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/inner-mongolia/tours/">Inner Mongolia</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/inner-mongolia/tours/">Inner Mongolia</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/guizhou/tours.htm" >Guizhou</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/hong-kong/tours.htm">Hong Kong</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/beijing/tours.htm">Beijing</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/xian/tours.htm">Xi&#39;an</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/shanghai/tours.htm">Shanghai</a></li>

@ -22,16 +22,33 @@
<!--@MAIN-CSS@-->
<!--@ADDON-CSS@-->
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-MNKHRM5');</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>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-31694-22"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-31694-22');
</script>
<script>
(function(w){
w.gh_template_name = w.gh_template_name || 'desktop';
})(window);
</script>
</head>
<body>

@ -16,17 +16,33 @@
<!--@MAIN-CSS@-->
<!--@ADDON-CSS@-->
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-MNKHRM5');</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>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-31694-22"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-31694-22');
</script>
<script>
(function(w){
w.gh_template_name = w.gh_template_name || 'mobile';
})(window);
</script>
</head>
<body>

Loading…
Cancel
Save