diff --git a/application/controllers/information.php b/application/controllers/information.php index 14c9e9be..599b2b76 100644 --- a/application/controllers/information.php +++ b/application/controllers/information.php @@ -1,7 +1,7 @@ InfoContents_model->Add('', 'New Information', '', '', '', '', '', '', '', 0, 0, '', '', 0, 0, '', '', 0, '', 0, '', ''); $infocontent = $this->InfoContents_model->get_ic_contents($this->InfoContents_model->insert_id); - if (!empty($infocontent) && $this->InfoStructures_model->Add($is_parent_id, $this->InfoContents_model->insert_id)) { + if (!empty ($infocontent) && $this->InfoStructures_model->Add($is_parent_id, $this->InfoContents_model->insert_id)) { $is_id = $this->InfoStructures_model->insert_id; $InfoStructures = $this->InfoStructures_model->Detail($is_id); $InfoStructures->is_id = $is_id; @@ -84,7 +84,7 @@ class Information extends CI_Controller $data = array(); $is_id = $this->input->post('is_id'); $is_parent_id = $this->input->post('is_parent_id'); - if ($is_id == $is_parent_id || empty($is_id) || empty($is_parent_id)) { + if ($is_id == $is_parent_id || empty ($is_id) || empty ($is_parent_id)) { return false; } //即将移动到文章结构信息 @@ -105,14 +105,18 @@ class Information extends CI_Controller return true; } - //复制节点结构到任意站点的节点下面。-- lmr - 1225 - //is_id 信息结构ID, - //复制节点结构到任意站点的节点下面。-- lmr + //[国际->国际]复制节点结构到任意站点的节点下面。-- lmr //is_id 信息结构ID, public function copy_by_is_id($src_is_id, $dest_is_id) { + if (empty ($src_is_id) || empty ($src_is_id)) { + echo 'need 2 is_id v1'; + return false; + } + $data = array(); - if ($src_is_id == $dest_is_id || empty($src_is_id) || empty($dest_is_id)) { + if ($src_is_id == $dest_is_id || empty ($src_is_id) || empty ($dest_is_id)) { + echo 'need 2 is_id v2'; return false; } // 源节点 @@ -186,27 +190,179 @@ class Information extends CI_Controller $item_meta_pccss = $this->InfoMetas_model->get($item->is_ic_id, 'AMP_CSS_PC'); $item_meta_pcschema = $this->InfoMetas_model->get($item->is_ic_id, 'AMP_SCHEMA'); - if (!empty($item_meta_amp)) + if (!empty ($item_meta_amp)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP', $item_meta_amp); + if (!empty ($item_meta_ampbody)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_BODY', $item_meta_ampbody); + if (!empty ($item_meta_ampcss)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_CSS', $item_meta_ampcss); + if (!empty ($item_meta_ampscript)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_SCRIPT', $item_meta_ampscript); + if (!empty ($item_meta_ampjson)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_JSON', $item_meta_ampjson); + if (!empty ($item_meta_ampstatus)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_STATUS', $item_meta_ampstatus); + if (!empty ($item_meta_pcstatus)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_BODY_PC_STATUS', $item_meta_pcstatus); + if (!empty ($item_meta_pcbody)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_BODY_PC', $item_meta_pcbody); + if (!empty ($item_meta_pccss)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_CSS_PC', $item_meta_pccss); + if (!empty ($item_meta_pcschema)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_SCHEMA', $item_meta_pcschema); + + // gm 补充meta + $item_meta_addon_css = $this->InfoMetas_model->get($item->is_ic_id, 'meta_addon_css'); + if (!empty ($item_meta_addon_css)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'meta_addon_css', $item_meta_addon_css); + + $item_meta_addon_js = $this->InfoMetas_model->get($item->is_ic_id, 'meta_addon_js'); + if (!empty ($item_meta_addon_js)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'meta_addon_js', $item_meta_addon_js); + + $item_meta_use_list_picture = $this->InfoMetas_model->get($item->is_ic_id, 'meta_use_list_picture'); + if (!empty ($item_meta_use_list_picture)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'meta_use_list_picture', $item_meta_use_list_picture); + + // 添加节点 + $this->InfoStructures_model->Add_with_sitecode($target_is_id, $this->InfoContents_model->insert_id, 999, $dest->is_sitecode); + $node_map[$item->is_id] = $this->InfoStructures_model->insert_id; + + } + + print_r($node_map); + // print_r($src); + // print_r($src_path); + // print_r($dest); + // print_r($dest_path); + + //返回状态 + $data[] = array('name' => 'ok', 'value' => 'copy_by_is_id() success!'); + echo json_encode($data); + return true; + } + + //[德语->国际]复制节点结构到任意站点的节点下面。-- lmr + //is_id 信息结构ID, + public function copy_by_is_id_gm($src_is_id, $dest_is_id) + { + if (empty ($src_is_id) || empty ($src_is_id)) { + echo 'need 2 is_id v1'; + return false; + } + + $data = array(); + if ($src_is_id == $dest_is_id || empty ($src_is_id) || empty ($dest_is_id)) { + echo 'need 2 is_id v2'; + return false; + } + + // 源节点 + $src = $this->InfoStructures_model->Detail_gm($src_is_id); + $src_path = $this->Information_model->get_list_by_path_gm($src->is_path, false, $src->is_sitecode); + // 源子节点 + foreach ($src_path as $n => $item) { + if ($item->is_id === $src->is_id) { + unset($src_path[$n]); + } + } + + // 目标节点结构 + $dest = $this->InfoStructures_model->Detail($dest_is_id); + $dest_path = $this->Information_model->get_list_by_path($dest->is_path, false, $dest->is_sitecode); + // 目标子节点 + foreach ($dest_path as $n => $item) { + if ($item->is_id === $dest->is_id) { + unset($dest_path[$n]); + } + } + + // 新旧节点对应表 + $node_map = array(); + // 循环复制各个层级的节点。 + foreach ($src_path as $n => $item) { + + // 定位复制的父节点 + $target_is_id = $dest->is_id; + foreach ($node_map as $old => $new) { + if ($item->is_parent_id == $old) { + $target_is_id = $new; + } + } + // info_content + $item_info_content = $this->InfoContents_model->get_ic_contents2_gm($item->is_ic_id); + $this->InfoContents_model->Add_with_sitecode( + $item_info_content->ic_url, + $item_info_content->ic_url_title, + $item_info_content->ic_type, + $item_info_content->ic_title, + $item_info_content->ic_content, + $item_info_content->ic_summary, + $item_info_content->ic_seo_title, + $item_info_content->ic_seo_description, + $item_info_content->ic_seo_keywords, + $item_info_content->ic_show_bread_crumbs, + $item_info_content->ic_status, + $item_info_content->ic_template, + $item_info_content->ic_photo, + $item_info_content->ic_photo_width, + $item_info_content->ic_photo_height, + $item_info_content->ic_recommend_tours, + $item_info_content->ic_recommend_packages, + $item_info_content->ic_ht_area_id, + $item_info_content->ic_ht_area_type, + $item_info_content->ic_ht_product_id, + $item_info_content->ic_ht_product_type, + $item_info_content->ic_author, + $dest->is_sitecode + ); + + // info_meta + $item_meta_amp = $this->InfoMetas_model->get_gm($item->is_ic_id, 'AMP'); + $item_meta_ampbody = $this->InfoMetas_model->get_gm($item->is_ic_id, 'AMP_BODY'); + $item_meta_ampcss = $this->InfoMetas_model->get_gm($item->is_ic_id, 'AMP_CSS'); + $item_meta_ampscript = $this->InfoMetas_model->get_gm($item->is_ic_id, 'AMP_SCRIPT'); + $item_meta_ampjson = $this->InfoMetas_model->get_gm($item->is_ic_id, 'AMP_JSON'); + $item_meta_ampstatus = $this->InfoMetas_model->get_gm($item->is_ic_id, 'AMP_STATUS'); + $item_meta_pcstatus = $this->InfoMetas_model->get_gm($item->is_ic_id, 'AMP_BODY_PC_STATUS'); + $item_meta_pcbody = $this->InfoMetas_model->get_gm($item->is_ic_id, 'AMP_BODY_PC'); + $item_meta_pccss = $this->InfoMetas_model->get_gm($item->is_ic_id, 'AMP_CSS_PC'); + $item_meta_pcschema = $this->InfoMetas_model->get_gm($item->is_ic_id, 'AMP_SCHEMA'); + + if (!empty ($item_meta_amp)) $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP', $item_meta_amp); - if (!empty($item_meta_ampbody)) + if (!empty ($item_meta_ampbody)) $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_BODY', $item_meta_ampbody); - if (!empty($item_meta_ampcss)) + if (!empty ($item_meta_ampcss)) $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_CSS', $item_meta_ampcss); - if (!empty($item_meta_ampscript)) + if (!empty ($item_meta_ampscript)) $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_SCRIPT', $item_meta_ampscript); - if (!empty($item_meta_ampjson)) + if (!empty ($item_meta_ampjson)) $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_JSON', $item_meta_ampjson); - if (!empty($item_meta_ampstatus)) + if (!empty ($item_meta_ampstatus)) $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_STATUS', $item_meta_ampstatus); - if (!empty($item_meta_pcstatus)) + if (!empty ($item_meta_pcstatus)) $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_BODY_PC_STATUS', $item_meta_pcstatus); - if (!empty($item_meta_pcbody)) + if (!empty ($item_meta_pcbody)) $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_BODY_PC', $item_meta_pcbody); - if (!empty($item_meta_pccss)) + if (!empty ($item_meta_pccss)) $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_CSS_PC', $item_meta_pccss); - if (!empty($item_meta_pcschema)) + if (!empty ($item_meta_pcschema)) $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'AMP_SCHEMA', $item_meta_pcschema); + // gm 补充meta + $item_meta_addon_css = $this->InfoMetas_model->get_gm($item->is_ic_id, 'meta_addon_css'); + if (!empty ($item_meta_addon_css)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'meta_addon_css', $item_meta_addon_css); + + $item_meta_addon_js = $this->InfoMetas_model->get_gm($item->is_ic_id, 'meta_addon_js'); + if (!empty ($item_meta_addon_js)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'meta_addon_js', $item_meta_addon_js); + + $item_meta_use_list_picture = $this->InfoMetas_model->get_gm($item->is_ic_id, 'meta_use_list_picture'); + if (!empty ($item_meta_use_list_picture)) + $this->InfoMetas_model->Add($this->InfoContents_model->insert_id, 'meta_use_list_picture', $item_meta_use_list_picture); + // 添加节点 $this->InfoStructures_model->Add_with_sitecode($target_is_id, $this->InfoContents_model->insert_id, 999, $dest->is_sitecode); $node_map[$item->is_id] = $this->InfoStructures_model->insert_id; @@ -248,7 +404,7 @@ class Information extends CI_Controller //} $this->Logs_model->delete($is_id, $info_detail->ic_content); - if (!empty($info_detail->ic_summary)) { + if (!empty ($info_detail->ic_summary)) { $this->Logs_model->backup_summary($is_id, $info_detail->ic_summary); } $this->InfoStructures_model->Delete($Structure->is_id); @@ -296,7 +452,7 @@ class Information extends CI_Controller //检查该信息是否已收录 $data['embody'] = 1; - if (isset($data['information']->ic_id)) { + if (isset ($data['information']->ic_id)) { $embody = $this->InfoMetas_model->get($data['information']->ic_id, 'meta_embody'); if ($embody && $embody != '1') { $data['embody'] = 0; @@ -316,7 +472,7 @@ class Information extends CI_Controller } //可选的展示模板 - if (in_array($this->config->item('site_code'), array('gh_vac', 'gh_vc', 'gh_jp', 'gh_ru', 'gh_it'))) { + if (in_array($this->config->item('site_code'), array('gh_vac', 'gh_vc', 'gh_jp', 'gh_ru', 'gh_it', 'gh_gm'))) { $this->config->set_item('templates', $this->config->item('templates_gh')); } @@ -506,13 +662,13 @@ class Information extends CI_Controller //AMP更新和生成 beign $auto_update_amp = $this->input->get_post('auto_update_amp'); - if (!empty($auto_update_amp) && $auto_update_amp == 'true' && $this->input->post('ic_status') == 1) { + if (!empty ($auto_update_amp) && $auto_update_amp == 'true' && $this->input->post('ic_status') == 1) { $amp_result = $this->amplib->auto_create($information->ic_id); - if (!empty($amp_result)) { + if (!empty ($amp_result)) { $amp_result = json_decode($amp_result); if ($amp_result->result == 'ok') { $amp_save_result = $this->amplib->edit_save($information->ic_id, $amp_result->data->amp, '1'); - if (!empty($amp_save_result)) { + if (!empty ($amp_save_result)) { $amp_save_result = json_decode($amp_save_result); if ($amp_save_result->name == 'no') { echo json_encode(array('name' => 'no', 'value' => 'AMP转换语法错误,请重新进入AMP编辑器检查')); @@ -525,7 +681,7 @@ class Information extends CI_Controller //AMP更新和生成 end //为新闻添加默认发布时间 $meta_news_createdate = get_meta($information->ic_id, 'meta_news_createdate'); - if (empty($meta_news_createdate)) { + if (empty ($meta_news_createdate)) { add_meta($information->ic_id, 'meta_news_createdate', date('m/d/Y', time())); } @@ -544,9 +700,9 @@ class Information extends CI_Controller $ic_url = $this->input->post('ic_url'); $auto_update_cache = $this->input->get_post('auto_update_cache_checkbox'); - if (strcasecmp($site_code, "gm") == 0 && !empty($auto_update_cache)) { + if (strcasecmp($site_code, "gm") == 0 && !empty ($auto_update_cache)) { $update_info_log = $this->update_cache($ic_url, true); - } else if (strcasecmp($site_code, "ch") == 0 && !empty($auto_update_cache)) { + } else if (strcasecmp($site_code, "ch") == 0 && !empty ($auto_update_cache)) { //读取模板生成PC和移动优先文件 $information_new = $this->Information_model->Detail($this->input->post('is_id')); //$this->benchmark->mark('000'); @@ -555,36 +711,36 @@ class Information extends CI_Controller $this->make_www_cache('mobile', $information_new, $recommand_information); $this->make_www_cache('pc', $information_new, $recommand_information); //echo ' |000~111: '.$this->benchmark->elapsed_time('000', '111'); - } else if (strcasecmp($site_code, "ah") == 0 && !empty($auto_update_cache)) { + } else if (strcasecmp($site_code, "ah") == 0 && !empty ($auto_update_cache)) { //读取模板生成PC和移动优先文件 $recommand_information = $this->recommand_information($information); $information_new = $this->Information_model->Detail($this->input->post('is_id')); $this->make_www_cache_ah('mobile', $information_new, $recommand_information); $this->make_www_cache_ah('pc', $information_new, $recommand_information); - } else if (strcasecmp($site_code, "gh") == 0 && !empty($auto_update_cache)) { + } else if (strcasecmp($site_code, "gh") == 0 && !empty ($auto_update_cache)) { $recommand_information = $this->recommand_information($information); $information_new = $this->Information_model->Detail($this->input->post('is_id')); $this->make_www_cache_gh('mobile', $information_new, $recommand_information); $this->make_www_cache_gh('pc', $information_new, $recommand_information); - } else if (strcasecmp($site_code, "chinatravel") == 0 && !empty($auto_update_cache)) { + } else if (strcasecmp($site_code, "chinatravel") == 0 && !empty ($auto_update_cache)) { //chinatravel读取模板生成PC和移动优先文件 $information_new = $this->Information_model->Detail($this->input->post('is_id')); $this->make_www_cache_ct($information_new); // $this->make_www_cache_ct('pc', $information_new); - } else if (strcasecmp($site_code, "shanghai") == 0 && !empty($auto_update_cache)) { + } else if (strcasecmp($site_code, "shanghai") == 0 && !empty ($auto_update_cache)) { $information_new = $this->Information_model->Detail($this->input->post('is_id')); $this->make_www_cache_sh($information_new); - } else if (strcasecmp($site_code, "cht") == 0 && !empty($auto_update_cache)) { + } else if (strcasecmp($site_code, "cht") == 0 && !empty ($auto_update_cache)) { $update_info_log = $this->update_cache($ic_url); - } else if (strcasecmp($site_code, "ah") == 0 && !empty($auto_update_cache)) { + } else if (strcasecmp($site_code, "ah") == 0 && !empty ($auto_update_cache)) { //$update_info_log = $this->update_cache($ic_url); } else if (strcasecmp($site_code, "cht") != 0 && strcasecmp($site_code, "gm") != 0 && strcasecmp($site_code, "ah") != 0) { //非cht站点并且非GM并且非AH $update_info_log = $this->update_cache($ic_url); - } else if (strcasecmp($site_code, "ct") == 0 && !empty($auto_update_cache)) { + } else if (strcasecmp($site_code, "ct") == 0 && !empty ($auto_update_cache)) { $update_info_log = $this->update_cache($ic_url); } - if (empty($update_info_log) || count($update_info_log) == 0 || !isset($update_info_log[0]['url'])) { + if (empty ($update_info_log) || count($update_info_log) == 0 || !isset ($update_info_log[0]['url'])) { $update_info_log = 'not found update info log'; } @@ -612,7 +768,7 @@ class Information extends CI_Controller '202000017' => 'http://www.chinahighlights.com/author/christy-campbell/', ); $key = $this->input->post('ic_author'); - if (isset($author_pages[$key])) { + if (isset ($author_pages[$key])) { $this->update_cache($author_pages[$key]); } } @@ -648,7 +804,7 @@ class Information extends CI_Controller public function update_www_cache($ic_id) { $information = $this->Information_model->detail_by_ic_id($ic_id); - if (empty($information)) { + if (empty ($information)) { echo json_encode(array('name' => 'no', 'data' => '找不到这个页面')); return false; } @@ -682,10 +838,10 @@ class Information extends CI_Controller //静态文件操作 public function html_file_helper($active = 'find', $ic_url = false) { - if (empty($ic_url)) { + if (empty ($ic_url)) { $ic_url = $this->input->get_post('ic_url'); } - if (empty($ic_url)) { + if (empty ($ic_url)) { return false; } $html_file = $this->config->item('cache')[$this->config->item('site_code')]['cache_path'] . $ic_url; @@ -770,7 +926,7 @@ class Information extends CI_Controller // 解析结果:; Shanghai,Beijing $feedback_array = []; preg_match_all('^^', $information->ic_content, $feedback_array); - if (!empty($feedback_array)) { + if (!empty ($feedback_array)) { foreach ($feedback_array[0] as $index => $tag_name) { $city_name_string = $feedback_array[1][$index]; $city_name_list = explode(',', $city_name_string); @@ -793,7 +949,7 @@ class Information extends CI_Controller // 解析结果:; Bangkok $feedback30_array = []; preg_match_all('^^', $information->ic_content, $feedback30_array); - if (!empty($feedback30_array)) { + if (!empty ($feedback30_array)) { foreach ($feedback30_array[0] as $index => $tag_name) { $city_name = $feedback30_array[1][$index]; $feedback_list = $this->Feedback_model->get_feedback_by_city_name($city_name); @@ -813,7 +969,7 @@ class Information extends CI_Controller // 集合页面反馈标签 $feedback_city_array = []; preg_match_all('^^', $information->ic_content, $feedback_city_array); - if (!empty($feedback_city_array)) { + if (!empty ($feedback_city_array)) { foreach ($feedback_city_array[0] as $index => $tag_name) { $city_name_string = $feedback_city_array[1][$index]; $city_name_list = explode(',', $city_name_string); @@ -868,7 +1024,7 @@ class Information extends CI_Controller $data_TrainCity = array(); $data_TrainCity["from"] = ""; $data_TrainCity["to"] = ""; - if (!empty($meta_train_city)) { + if (!empty ($meta_train_city)) { if (strpos($meta_train_city, '|') !== false) { $arrTrainCity = explode('|', $meta_train_city); $data_TrainCity["from"] = $arrTrainCity[0]; @@ -883,19 +1039,19 @@ class Information extends CI_Controller $meta_product_code = get_meta($information->ic_id, 'meta_product_code'); $meta_google_ad_article = get_meta($information->ic_id, 'meta_google_ad_article'); //非产品页面 - if (empty($meta_product_code)) { + if (empty ($meta_product_code)) { - $ads_by_google = !empty($meta_google_ad_article); + $ads_by_google = !empty ($meta_google_ad_article); //H1模板替换 $data_H1 = array(); $data_H1['infocategory'] = $this->Information_model->get_detail_by_path($information->is_path, 1); //信息所属分类,获取信息顶级节点内容 $data_H1['author'] = ''; //获取作者信息 $author = $this->Operator_model->get_author_nikename($information->ic_author); - if (!empty($author)) { + if (!empty ($author)) { $data_H1['author'] = $author->OPI_FirstName; } else { $author_web = $this->Infoauthors_model->detail_by_id($information->ic_author); //原始作者,可能是在线作者等 - if (!empty($author_web)) { + if (!empty ($author_web)) { $data_H1['author'] = $author_web->a_name; } } @@ -904,7 +1060,7 @@ class Information extends CI_Controller $parsed_photo = $information->ic_photo; $parsed_photo_url = parse_url($information->ic_photo); if ( - (!isset($parsed_photo_url['host']) || !isset($parsed_photo_url['scheme'])) && isset($parsed_photo_url['path']) + (!isset ($parsed_photo_url['host']) || !isset ($parsed_photo_url['scheme'])) && isset ($parsed_photo_url['path']) ) { $parsed_photo = 'https://images.chinahighlights.com' . $parsed_photo_url['path']; } @@ -928,13 +1084,6 @@ class Information extends CI_Controller ); $template = str_replace('', $article_structured_data_content, $template); - $article_top_image_content = $this->load->view( - $template_path . '-info-top-img', - array('information' => $information), - true - ); - $template = str_replace('', $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_content, $information->ic_content); @@ -945,8 +1094,37 @@ class Information extends CI_Controller $template = str_replace('?product_code=', '?product_code=' . $meta_product_code, $template); $information->ic_content = str_replace('', $inquiry_form_template, $information->ic_content); - $breadcrumb_content = $this->load->view($template_path . '-breadcrumb', array('breadcrumb_data' => $breadcrumb_data), true); - $information->ic_content = str_replace('', $breadcrumb_content, $information->ic_content); + $ads_by_google = !empty ($meta_google_ad_article); + //H1模板替换 + $data_H1 = array(); + $data_H1['infocategory'] = $this->Information_model->get_detail_by_path($information->is_path, 1); //信息所属分类,获取信息顶级节点内容 + $data_H1['author'] = ''; //获取作者信息 + $author = $this->Operator_model->get_author_nikename($information->ic_author); + if (!empty ($author)) { + $data_H1['author'] = $author->OPI_FirstName; + } else { + $author_web = $this->Infoauthors_model->detail_by_id($information->ic_author); //原始作者,可能是在线作者等 + if (!empty ($author_web)) { + $data_H1['author'] = $author_web->a_name; + } + } + + // 检查图片地址格式 + $parsed_photo = $information->ic_photo; + $parsed_photo_url = parse_url($information->ic_photo); + if ( + (!isset ($parsed_photo_url['host']) || !isset ($parsed_photo_url['scheme'])) && isset ($parsed_photo_url['path']) + ) { + $parsed_photo = 'https://images.chinahighlights.com' . $parsed_photo_url['path']; + } + + $data_H1['ic_title'] = $information->ic_title; + $data_H1['ic_photo'] = $parsed_photo; + $data_H1['breadcrumb_data'] = $breadcrumb_data; + $data_H1['ads_by_google'] = $ads_by_google; + $data_H1['ic_datetime'] = $information->ic_datetime; + $template_H1 = $this->load->view($template_path . '-h1', $data_H1, true); + $template = str_replace('', $template_H1, $template); } // CH: 1; AH: 28; GH : 33 @@ -964,14 +1142,14 @@ class Information extends CI_Controller //本地 278035929 //网前 278008224 if ($information->is_parent_id == "278008224") { - if (!empty($meta_product_code)) { + if (!empty ($meta_product_code)) { //准备需要的数据 $dataTrippest = []; $dataTrippest["ic_title"] = $information->ic_title; //附加选项 $t_Type = get_meta($information->ic_id, 'meta_trippest_type'); - if (isset($t_Type)) { + if (isset ($t_Type)) { $dataTrippest["t_Type"] = $t_Type; } else { $dataTrippest["t_Type"] = "general"; @@ -1036,7 +1214,7 @@ class Information extends CI_Controller // $price = $this->trippest_model->get_price("BJALC-1",2); $price = $this->trippest_model->get_price($dataTrippest['PagDetail']->PAG_Code, 2); $showPrice = ""; - if (!empty($price)) { + if (!empty ($price)) { $PKP_AdultNetPrice = $price->PKP_AdultNetPrice; $PKP_AdultSpecialPrice = $price->PKP_AdultSpecialPrice; if ($PKP_AdultSpecialPrice > 0) { @@ -1062,10 +1240,10 @@ class Information extends CI_Controller $template_recommand = $recommand_information; //$this->recommand_information($information); 从外面传进来,pc和移动只需要查一次,减少数据库负担 $template = str_replace('', $this->load->view($template_path . '-next', array('recommands' => $template_recommand), true), $template); // //广告,改叫tips,防止被插件屏蔽 - if (!empty($template_recommand['Tips Right TOP'])) { + if (!empty ($template_recommand['Tips Right TOP'])) { $template = str_replace('', "
", $template); } - if (!empty($template_recommand['Tips Right'])) { + if (!empty ($template_recommand['Tips Right'])) { $template = str_replace('', "
" . $template_recommand['Tips Right']->it_content . "
", $template); } @@ -1118,7 +1296,7 @@ class Information extends CI_Controller } // 未勾选In Article 广告时,加入标签 ,让 ezoic 识别出该页面不展示广告。 - if (empty($meta_google_ad_article) || !$meta_google_ad_article) { + if (empty ($meta_google_ad_article) || !$meta_google_ad_article) { $template = str_replace( '', '', @@ -1135,7 +1313,7 @@ class Information extends CI_Controller //替换内容中广告 $temp_array = array(); preg_match_all('^^', $information->ic_content, $temp_array); - if (!empty($temp_array[1])) { + if (!empty ($temp_array[1])) { foreach ($temp_array[1] as $key => $item) { $tips_detail = $this->recommends_and_tips_model->tips_detail($item); if ($tips_detail) { @@ -1160,21 +1338,10 @@ class Information extends CI_Controller $template = str_replace('', '
' . $template_TrainSearch . '
', $template); } } - - $meta_addon_picture_url = get_meta($information->ic_id, 'meta_addon_picture_url'); - if (!empty($meta_addon_picture)) { - if (!empty($meta_addon_picture_url)) { - $template = str_replace('', '
' . $information->ic_title . '
', $template); - } else { - $template = str_replace('', '
' . $information->ic_title . '
- -
' . $template_TrainSearch . '
', $template); - } - } //顶部视频 $meta_news_video = get_meta($information->ic_id, 'meta_news_video'); $meta_video_picture = get_meta($information->ic_id, 'meta_video_picture'); - if (!empty($meta_news_video) && !empty($meta_video_picture)) { + if (!empty ($meta_news_video) && !empty ($meta_video_picture)) { $template = str_replace('', '
', $template); } @@ -1195,7 +1362,7 @@ class Information extends CI_Controller } //额外样式 $meta_addon_css = get_meta($information->ic_id, 'meta_addon_css'); - if (!empty($meta_addon_css)) { + if (!empty ($meta_addon_css)) { if ($meta_addon_css == 'https://proxy-data.chinahighlights.com/css/tour-detail-former.css' && is_file('D:/wwwroot/origin-data.chinahighlights.com/css/tour-detail-former.css')) { $meta_addon_css_string = compress_css(file_get_contents('D:/wwwroot/origin-data.chinahighlights.com/css/tour-detail-former.css')); } else { @@ -1205,7 +1372,7 @@ class Information extends CI_Controller } //额外js $meta_addon_js = get_meta($information->ic_id, 'meta_addon_js'); - if (!empty($meta_addon_js)) { + if (!empty ($meta_addon_js)) { $template = str_replace('', '', $template); } //设置内容图片缓加载 @@ -1222,12 +1389,12 @@ class Information extends CI_Controller //} //社媒分享图片 $full_ic_photo = ''; - if (!empty($information->ic_photo)) { + if (!empty ($information->ic_photo)) { $full_ic_photo = $this->config->item('site_image_url') . $information->ic_photo; } else { $full_ic_photo = get_meta($information->ic_id, 'meta_addon_picture_mobile'); } - if (!empty($full_ic_photo)) { + if (!empty ($full_ic_photo)) { $template = str_replace('', '', $template); } //设置图片尺寸 @@ -1303,7 +1470,7 @@ class Information extends CI_Controller { $feedback30_array = []; preg_match_all('^^', '
', $feedback30_array); - if (!empty($feedback30_array)) { + if (!empty ($feedback30_array)) { foreach ($feedback30_array[0] as $index => $tag_name) { $city_name = $feedback30_array[1][$index]; $feedback_list = $this->Feedback_model->get_feedback_by_city_name($city_name, 2); @@ -1328,7 +1495,7 @@ class Information extends CI_Controller { $feedback_city_array = []; preg_match_all('^^', '
', $feedback_city_array); - if (!empty($feedback_city_array)) { + if (!empty ($feedback_city_array)) { foreach ($feedback_city_array[0] as $index => $tag_name) { $city_name_string = $feedback_city_array[1][$index]; $city_name_list = explode(',', $city_name_string); @@ -1378,13 +1545,13 @@ class Information extends CI_Controller { $price_item_array = $this->price_pregmatch($price_content); $price_tag_list = []; - if (!empty($price_item_array)) { + if (!empty ($price_item_array)) { foreach ($price_item_array as $price_item) { - $price_date = !empty($price_item->price_date) ? $price_item->price_date : date('Y-m-d', time() + 86400 * 7); //当前时间7天后的价格 + $price_date = !empty ($price_item->price_date) ? $price_item->price_date : date('Y-m-d', time() + 86400 * 7); //当前时间7天后的价格 $price_number = ''; //优先读取新的价格体系 $price = $this->PrimeLinePrice_model->search($price_item->cli_no, 1, $price_item->cli_grade, $price_item->person_size, $price_date, $dept_sn); - if (!empty($price)) { + if (!empty ($price)) { switch (strtoupper($price_item->price_people)) { case 'A': $price_number = $price->PLP_AdultUnitPrice; @@ -1406,7 +1573,7 @@ class Information extends CI_Controller } } else { $price = $this->Price_model->search($price_item->cli_no, 1, $price_item->cli_grade, false, $price_date); - if (!empty($price)) { + if (!empty ($price)) { switch (strtoupper($price_item->price_people)) { case 'A': @@ -1462,7 +1629,7 @@ class Information extends CI_Controller $site_money = $this->currency->calc_show_price($price_number); //把金额格式化为带有逗号(,)方便阅读,如 12,345 $price_number = is_numeric($price_number) ? number_format($site_money) : $price_number; - if (!empty($price_number)) { + if (!empty ($price_number)) { $price_tag = [ 'placeholder' => $price_item->placeholder, 'price_number' => $price_number, @@ -1487,11 +1654,11 @@ class Information extends CI_Controller $placeholder = $item; $item = str_replace('#', '', $item); $price_array = explode(',', $item); - $cli_no = !empty($price_array[0]) ? $price_array[0] : false; //线路代号 - if (empty($cli_no)) { + $cli_no = !empty ($price_array[0]) ? $price_array[0] : false; //线路代号 + if (empty ($cli_no)) { continue; //没有设置线路代号则进入下一条 } - $cli_grade = !empty($price_array[1]) ? $price_array[1] : false; //标准7001、豪华7002、经济7003 + $cli_grade = !empty ($price_array[1]) ? $price_array[1] : false; //标准7001、豪华7002、经济7003 switch (strtoupper($cli_grade)) { case 'ST': $cli_grade = '7001'; @@ -1505,7 +1672,7 @@ class Information extends CI_Controller default: $cli_grade = '7001'; } - $person_size = (!empty($price_array[2]) && is_numeric($price_array[2])) ? $price_array[2] : 2; //人等1,2-5,6-9,10,默认2人等 + $person_size = (!empty ($price_array[2]) && is_numeric($price_array[2])) ? $price_array[2] : 2; //人等1,2-5,6-9,10,默认2人等 //为了兼容以前的人等方式,把算数人等转换为单数 25=>2 switch ($person_size) { case '25': @@ -1515,8 +1682,8 @@ class Information extends CI_Controller $person_size = '6'; break; } - $price_date = !empty($price_array[3]) ? $price_array[3] : false; //价格时间 - $price_people = !empty($price_array[4]) ? $price_array[4] : 'A'; //A成人、C小孩、B婴儿、R单间房差 + $price_date = !empty ($price_array[3]) ? $price_array[3] : false; //价格时间 + $price_people = !empty ($price_array[4]) ? $price_array[4] : 'A'; //A成人、C小孩、B婴儿、R单间房差 $result[] = (object) array('placeholder' => $placeholder, 'cli_no' => $cli_no, 'cli_grade' => $cli_grade, 'person_size' => $person_size, 'price_date' => $price_date, 'price_people' => $price_people); } return $result; @@ -1587,18 +1754,18 @@ class Information extends CI_Controller } $meta_product_code = get_meta($information->ic_id, 'meta_product_code'); - $ads_by_google = !empty(get_meta($information->ic_id, 'meta_google_ad_article')); + $ads_by_google = !empty (get_meta($information->ic_id, 'meta_google_ad_article')); //H1模板替换 $data_H1 = array(); $data_H1['infocategory'] = $this->Information_model->get_detail_by_path($information->is_path, 1); //信息所属分类,获取信息顶级节点内容 $data_H1['author'] = ''; //获取作者信息 $author = $this->Operator_model->get_author_nikename($information->ic_author); - if (!empty($author)) { + if (!empty ($author)) { $data_H1['author'] = $author->OPI_FirstName; } else { $author_web = $this->Infoauthors_model->detail_by_id($information->ic_author); //原始作者,可能是在线作者等 - if (!empty($author_web)) { + if (!empty ($author_web)) { $data_H1['author'] = $author_web->a_name; } } @@ -1609,7 +1776,7 @@ class Information extends CI_Controller $template_H1 = $this->load->view($template_path . '-h1', $data_H1, true); $template = str_replace('', $template_H1, $template); - if (empty($meta_product_code)) { + if (empty ($meta_product_code)) { $addthis_widget = $this->load->view($template_path . '-add-this', false, true); $template = str_replace('', $addthis_widget, $template); } @@ -1621,13 +1788,13 @@ class Information extends CI_Controller ); $template = str_replace('', $article_structured_data_content, $template); - if (!empty($meta_product_code)) { + if (!empty ($meta_product_code)) { // $product_code_input = ""; $template = str_replace('', $product_code_input, $template); } - if (empty($meta_product_code)) { + if (empty ($meta_product_code)) { $template = str_replace('?product_code=', '', $template); } else { $template = str_replace('?product_code=', '?product_code=' . $meta_product_code, $template); @@ -1637,10 +1804,10 @@ class Information extends CI_Controller $template_recommand = $recommand_information; //$this->recommand_information($information); 从外面传进来,pc和移动只需要查一次,减少数据库负担 $template = str_replace('', $this->load->view($template_path . '-next', array('recommands' => $template_recommand), true), $template); // //广告,改叫tips,防止被插件屏蔽 - if (!empty($template_recommand['Tips Right TOP'])) { + if (!empty ($template_recommand['Tips Right TOP'])) { // $template = str_replace('', "
", $template); } - if (!empty($template_recommand['Tips Right'])) { + if (!empty ($template_recommand['Tips Right'])) { $template = str_replace('', "
" . $template_recommand['Tips Right']->it_content . "
", $template); } // 右侧列表广告 @@ -1689,7 +1856,7 @@ class Information extends CI_Controller //替换内容中广告 $temp_array = array(); preg_match_all('^^', $information->ic_content, $temp_array); - if (!empty($temp_array[1])) { + if (!empty ($temp_array[1])) { foreach ($temp_array[1] as $key => $item) { $tips_detail = $this->recommends_and_tips_model->tips_detail($item); if ($tips_detail) { @@ -1700,7 +1867,7 @@ class Information extends CI_Controller // 未勾选In Article 广告时,加入标签 ,让 ezoic 识别出该页面不展示广告。 $meta_google_ad_article = get_meta($information->ic_id, 'meta_google_ad_article'); - if (empty($meta_google_ad_article) || !$meta_google_ad_article) { + if (empty ($meta_google_ad_article) || !$meta_google_ad_article) { $template = str_replace( '', '', @@ -1727,7 +1894,7 @@ class Information extends CI_Controller ); $information->ic_content = str_replace('', $why_us_covid_list_mobile, $information->ic_content); - if (empty($meta_product_code)) { + if (empty ($meta_product_code)) { $info_page_form_content = $this->load->view($template_path . '-info-page-form', false, true); $information->ic_content = str_replace('', $info_page_form_content, $information->ic_content); } else { @@ -1755,7 +1922,7 @@ class Information extends CI_Controller // 解析结果:; Bangkok $feedback30_array = []; preg_match_all('^^', $information->ic_content, $feedback30_array); - if (!empty($feedback30_array)) { + if (!empty ($feedback30_array)) { foreach ($feedback30_array[0] as $index => $tag_name) { $city_name = $feedback30_array[1][$index]; $feedback_list = $this->Feedback_model->get_feedback_by_city_name($city_name); @@ -1775,7 +1942,7 @@ class Information extends CI_Controller // 集合页面反馈标签 $feedback_city_array = []; preg_match_all('^^', $information->ic_content, $feedback_city_array); - if (!empty($feedback_city_array)) { + if (!empty ($feedback_city_array)) { foreach ($feedback_city_array[0] as $index => $tag_name) { $city_name_string = $feedback_city_array[1][$index]; $city_name_list = explode(',', $city_name_string); @@ -1819,7 +1986,7 @@ class Information extends CI_Controller $template = str_replace('', '', $template); //额外样式 $meta_addon_css = get_meta($information->ic_id, 'meta_addon_css'); - if (!empty($meta_addon_css)) { + if (!empty ($meta_addon_css)) { // if ($meta_addon_css == 'https://proxy-data.chinahighlights.com/css/tour-detail-former.css' && is_file('D:/wwwroot/origin-data.chinahighlights.com/css/tour-detail-former.css')) { //$meta_addon_css_string = compress_css(file_get_contents('D:/wwwroot/origin-data.chinahighlights.com/css/tour-detail-former.css')); // } else { @@ -1829,7 +1996,7 @@ class Information extends CI_Controller } //额外js $meta_addon_js = get_meta($information->ic_id, 'meta_addon_js'); - if (!empty($meta_addon_js)) { + if (!empty ($meta_addon_js)) { $template = str_replace('', '', $template); } //设置内容图片缓加载 @@ -1838,12 +2005,12 @@ class Information extends CI_Controller //社媒分享图片 $full_ic_photo = ''; - if (!empty($information->ic_photo)) { + if (!empty ($information->ic_photo)) { $full_ic_photo = $this->config->item('site_image_url') . $information->ic_photo; } else { $full_ic_photo = get_meta($information->ic_id, 'meta_addon_picture_mobile'); } - if (!empty($full_ic_photo)) { + if (!empty ($full_ic_photo)) { $template = str_replace('', '', $template); } //设置图片尺寸 @@ -1904,7 +2071,7 @@ class Information extends CI_Controller //顶部视频 $data['meta_news_video'] = get_meta($information->ic_id, 'meta_news_video'); $data['meta_video_picture'] = get_meta($information->ic_id, 'meta_video_picture'); - if (empty($data['meta_news_video']) && empty($data['meta_video_picture'])) { + if (empty ($data['meta_news_video']) && empty ($data['meta_video_picture'])) { //没有顶部视频时候才读取全屏大图 //顶部全屏大图 if ($device == 'mobile') { //移动端读取移动大图 @@ -1928,15 +2095,15 @@ class Information extends CI_Controller ]; $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')); + $ads_by_google = !empty (get_meta($information->ic_id, 'meta_google_ad_article')); $data['ads_by_google'] = $ads_by_google; $data['author'] = ''; //获取作者信息 $author = $this->Operator_model->get_author_nikename($information->ic_author); - if (!empty($author)) { + if (!empty ($author)) { $data['author'] = $author->OPI_FirstName; } else { $author_web = $this->Infoauthors_model->detail_by_id($information->ic_author); //原始作者,可能是在线作者等 - if (!empty($author_web)) { + if (!empty ($author_web)) { $data['author'] = $author_web->a_name; } } @@ -1946,7 +2113,7 @@ class Information extends CI_Controller // 结构化标签:Article $article_structured_data_content = $this->load->view( $template_path . '-structured-data-article', - array('information' => $information, 'author' => $author), + array('information' => $information, 'author' => $data['author']), true ); $template = str_replace('', $article_structured_data_content, $template); @@ -1966,7 +2133,7 @@ class Information extends CI_Controller $template_recommand = $recommand_information; $template = str_replace('', $this->load->view($recommand_template, array('recommands' => $template_recommand), true), $template); //广告,改叫tips,防止被插件屏蔽 - if (!empty($template_recommand['Tips Right'])) { + if (!empty ($template_recommand['Tips Right'])) { $template = str_replace('', "
" . $template_recommand['Tips Right']->it_content . "
", $template); } // 右侧列表广告 @@ -2029,7 +2196,7 @@ class Information extends CI_Controller //替换内容中广告 $temp_array = array(); preg_match_all('^^', $information->ic_content, $temp_array); - if (!empty($temp_array[1])) { + if (!empty ($temp_array[1])) { foreach ($temp_array[1] as $key => $item) { $tips_detail = $this->recommends_and_tips_model->tips_detail($item); if ($tips_detail) { @@ -2040,7 +2207,7 @@ class Information extends CI_Controller $meta_product_code = get_meta($information->ic_id, 'meta_product_code'); // 非产品页面 - if (empty($meta_product_code)) { + if (empty ($meta_product_code)) { $addthis_widget = $this->load->view($template_path . '-add-this', false, true); $template = str_replace('', $addthis_widget, $template); $template = str_replace('?product_code=', '', $template); @@ -2120,7 +2287,7 @@ class Information extends CI_Controller // 解析结果:; Siem Reap,Bangkok $feedback_array = []; preg_match_all('^^', $information->ic_content, $feedback_array); - if (!empty($feedback_array)) { + if (!empty ($feedback_array)) { foreach ($feedback_array[0] as $index => $tag_name) { $city_name_string = $feedback_array[1][$index]; $city_name_list = explode(',', $city_name_string); @@ -2143,7 +2310,7 @@ class Information extends CI_Controller // 解析结果:; Bangkok $feedback30_array = []; preg_match_all('^^', $information->ic_content, $feedback30_array); - if (!empty($feedback30_array)) { + if (!empty ($feedback30_array)) { foreach ($feedback30_array[0] as $index => $tag_name) { $city_name = $feedback30_array[1][$index]; $feedback_list = $this->Feedback_model->get_feedback_by_city_name($city_name); @@ -2163,7 +2330,7 @@ class Information extends CI_Controller // 集合页面反馈标签 $feedback_city_array = []; preg_match_all('^^', $information->ic_content, $feedback_city_array); - if (!empty($feedback_city_array)) { + if (!empty ($feedback_city_array)) { foreach ($feedback_city_array[0] as $index => $tag_name) { $city_name_string = $feedback_city_array[1][$index]; $city_name_list = explode(',', $city_name_string); @@ -2209,14 +2376,14 @@ class Information extends CI_Controller $template = str_replace('', '', $template); //额外样式 $meta_addon_css = get_meta($information->ic_id, 'meta_addon_css'); - if (!empty($meta_addon_css)) { + if (!empty ($meta_addon_css)) { //内联方式 $meta_addon_css_string = compress_css(GET_HTTP($meta_addon_css)); $template = str_replace('', '', $template); } //额外js $meta_addon_js = get_meta($information->ic_id, 'meta_addon_js'); - if (!empty($meta_addon_js)) { + if (!empty ($meta_addon_js)) { $template = str_replace('', '', $template); } //设置内容图片缓加载 @@ -2230,12 +2397,12 @@ class Information extends CI_Controller //社媒分享图片 $full_ic_photo = ''; - if (!empty($information->ic_photo)) { + if (!empty ($information->ic_photo)) { $full_ic_photo = $this->config->item('site_image_url') . $information->ic_photo; } else { $full_ic_photo = get_meta($information->ic_id, 'meta_addon_picture_mobile'); } - if (!empty($full_ic_photo)) { + if (!empty ($full_ic_photo)) { $template = str_replace('', '', $template); } @@ -2295,8 +2462,8 @@ class Information extends CI_Controller //作者字符串,信息页或者城市天气页加载 2022-7-26 $str_author = ""; $author = $this->Operator_model->get_author_nikename($information->ic_author); - if ((empty($meta_product_code) && !($meta_ct_page_type !== false && $meta_ct_page_type != "")) || $meta_ct_page_type == "weatherpage") { - $OPI_FirstName = !empty($author) ? $author->OPI_FirstName : 'author nickname'; + if ((empty ($meta_product_code) && !($meta_ct_page_type !== false && $meta_ct_page_type != "")) || $meta_ct_page_type == "weatherpage") { + $OPI_FirstName = !empty ($author) ? $author->OPI_FirstName : 'author nickname'; $str_author = '
Written by ' . $OPI_FirstName . ' Updated ' . date("M. j, Y", strtotime($information->ic_datetime)) . '
'; } @@ -2351,7 +2518,7 @@ class Information extends CI_Controller $data["FloatIcon"] = ""; //浮动图标替代addthis $arrExitUrl = array("/", "/culture", "/guide", "/tour", "/citytour", "/daytrip", "/asia-tour", "/china-trains"); - if (empty(get_meta($information->ic_id, 'meta_product_code')) || in_array($information->ic_url, $arrExitUrl)) { + if (empty (get_meta($information->ic_id, 'meta_product_code')) || in_array($information->ic_url, $arrExitUrl)) { //$data["addthis_widget"] = $this->load->view($template_path . '-add-this', false, true); //社媒代码addthis $data["FloatIcon"] = "
Create My Trip
"; } else { @@ -2363,7 +2530,7 @@ class Information extends CI_Controller $data["TOPVIDEO"] = ""; $meta_news_video = get_meta($information->ic_id, 'meta_news_video'); $meta_video_picture = get_meta($information->ic_id, 'meta_video_picture'); - if (!empty($meta_news_video) && !empty($meta_video_picture)) { + if (!empty ($meta_news_video) && !empty ($meta_video_picture)) { $data["TOPVIDEO"] = ''; } @@ -2377,7 +2544,7 @@ class Information extends CI_Controller //额外样式 $data["ADDONCSS"] = ""; $meta_addon_css = get_meta($information->ic_id, 'meta_addon_css'); - if (!empty($meta_addon_css)) { + if (!empty ($meta_addon_css)) { //引用方式 //$data["ADDONCSS"]= ''; //内联方式 @@ -2386,7 +2553,7 @@ class Information extends CI_Controller } //社媒分享图片 $data["OGIMAGE"] = ""; - if (!empty($information->ic_photo)) { + if (!empty ($information->ic_photo)) { if (strpos($information->ic_photo, "chinatravel.com") != false) { $full_ic_photo = $information->ic_photo; } else { @@ -2398,7 +2565,7 @@ class Information extends CI_Controller //结构化标签 $data["ConstructionCode"] = ""; $meta_construction_code = get_meta($information->ic_id, 'meta_construction_code'); - if (!empty($meta_construction_code)) { + if (!empty ($meta_construction_code)) { $data["ConstructionCode"] = $meta_construction_code; } @@ -2421,7 +2588,7 @@ class Information extends CI_Controller //额外js $data["ADDONJS"] = ""; $meta_addon_js = get_meta($information->ic_id, 'meta_addon_js'); - if (!empty($meta_addon_js)) { + if (!empty ($meta_addon_js)) { $addonJs .= ''; } //价格js @@ -2462,11 +2629,11 @@ class Information extends CI_Controller $productCode = ""; if ($meta_ct_page_type == "daytripdetail") { //一日游 - if (!empty($meta_ct_page_type)) { + if (!empty ($meta_ct_page_type)) { $productType = $meta_ct_page_type; } $meta_ct_page_value = get_meta($information->ic_id, 'meta_ct_page_value'); - if (!empty($meta_ct_page_value)) { + if (!empty ($meta_ct_page_value)) { $productCode = $meta_ct_page_value; } $addonJs .= ''; @@ -2477,7 +2644,7 @@ class Information extends CI_Controller //线路 $productType = $meta_ct_page_type; $meta_ct_page_value = get_meta($information->ic_id, 'meta_ct_page_value'); - if (!empty($meta_ct_page_value)) { + if (!empty ($meta_ct_page_value)) { $productCode = $meta_ct_page_value; } @@ -2497,7 +2664,7 @@ class Information extends CI_Controller if ($meta_ct_page_type == "cruisedetails") { $productType = $meta_ct_page_type; $meta_ct_page_value = get_meta($information->ic_id, 'meta_ct_page_value'); - if (!empty($meta_ct_page_value)) { + if (!empty ($meta_ct_page_value)) { $productCode = $meta_ct_page_value; } $dataCruise["shipname"] = $productCode; @@ -2532,17 +2699,17 @@ class Information extends CI_Controller if ($device == 'mobile') { //移动端读取移动大图 $meta_addon_picture = get_meta($information->ic_id, 'meta_addon_picture_mobile'); $bannerImg = '' . $information->ic_title . ''; - if (!empty($meta_addon_picture_url) && !empty($meta_addon_picture_text)) { + if (!empty ($meta_addon_picture_url) && !empty ($meta_addon_picture_text)) { $ImgText = ''; - } else if (!empty($meta_addon_picture_text)) { + } else if (!empty ($meta_addon_picture_text)) { $ImgText = ''; } } else { $meta_addon_picture = get_meta($information->ic_id, 'meta_addon_picture'); $bannerImg = '' . $information->ic_title . ''; - if (!empty($meta_addon_picture_url) && !empty($meta_addon_picture_text)) { + if (!empty ($meta_addon_picture_url) && !empty ($meta_addon_picture_text)) { $ImgText = ''; - } else if (!empty($meta_addon_picture_text)) { + } else if (!empty ($meta_addon_picture_text)) { $ImgText = ''; } } @@ -2569,8 +2736,8 @@ class Information extends CI_Controller } } - if (!empty($meta_addon_picture)) { - if (!empty($meta_addon_picture_url)) { + if (!empty ($meta_addon_picture)) { + if (!empty ($meta_addon_picture_url)) { $data["TOPBANNER"] = ''; } else { $data["TOPBANNER"] = ''; @@ -2658,8 +2825,8 @@ class Information extends CI_Controller //作者字符串,信息页或者城市天气页加载 2022-7-26 $str_author = ""; $author = $this->Operator_model->get_author_nikename($information->ic_author); - if ((empty($meta_product_code) && !($meta_ct_page_type !== false && $meta_ct_page_type != "")) || $meta_ct_page_type == "weatherpage") { - $OPI_FirstName = !empty($author) ? $author->OPI_FirstName : 'author nickname'; + if ((empty ($meta_product_code) && !($meta_ct_page_type !== false && $meta_ct_page_type != "")) || $meta_ct_page_type == "weatherpage") { + $OPI_FirstName = !empty ($author) ? $author->OPI_FirstName : 'author nickname'; $str_author = '
Written by ' . $OPI_FirstName . ' Updated ' . date("M. j, Y", strtotime($information->ic_datetime)) . '
'; } @@ -2684,7 +2851,7 @@ class Information extends CI_Controller $data["FloatIcon"] = ""; //浮动图标替代addthis $arrExitUrl = array("/", "/culture", "/guide", "/tour", "/citytour", "/daytrip", "/asia-tour", "/china-trains"); - if (empty(get_meta($information->ic_id, 'meta_product_code')) || in_array($information->ic_url, $arrExitUrl)) { + if (empty (get_meta($information->ic_id, 'meta_product_code')) || in_array($information->ic_url, $arrExitUrl)) { $data["FloatIcon"] = "
Create My Trip
"; } else { $data["ISPRODUCT"] = "yes"; @@ -2694,7 +2861,7 @@ class Information extends CI_Controller $data["TOPVIDEO"] = ""; $meta_news_video = get_meta($information->ic_id, 'meta_news_video'); $meta_video_picture = get_meta($information->ic_id, 'meta_video_picture'); - if (!empty($meta_news_video) && !empty($meta_video_picture)) { + if (!empty ($meta_news_video) && !empty ($meta_video_picture)) { $data["TOPVIDEO"] = ''; } @@ -2708,7 +2875,7 @@ class Information extends CI_Controller //额外样式 $data["ADDONCSS"] = ""; $meta_addon_css = get_meta($information->ic_id, 'meta_addon_css'); - if (!empty($meta_addon_css)) { + if (!empty ($meta_addon_css)) { //引用方式 //$data["ADDONCSS"]= ''; //内联方式 @@ -2717,7 +2884,7 @@ class Information extends CI_Controller } //社媒分享图片 $data["OGIMAGE"] = ""; - if (!empty($information->ic_photo)) { + if (!empty ($information->ic_photo)) { if (strpos($information->ic_photo, "shanghaihighlights.com") != false) { $full_ic_photo = $information->ic_photo; } else { @@ -2729,7 +2896,7 @@ class Information extends CI_Controller //结构化标签 $data["ConstructionCode"] = ""; $meta_construction_code = get_meta($information->ic_id, 'meta_construction_code'); - if (!empty($meta_construction_code)) { + if (!empty ($meta_construction_code)) { $data["ConstructionCode"] = $meta_construction_code; } @@ -2752,7 +2919,7 @@ class Information extends CI_Controller //额外js $data["ADDONJS"] = ""; $meta_addon_js = get_meta($information->ic_id, 'meta_addon_js'); - if (!empty($meta_addon_js)) { + if (!empty ($meta_addon_js)) { $addonJs .= ''; } //价格js @@ -2793,11 +2960,11 @@ class Information extends CI_Controller $productCode = ""; if ($meta_ct_page_type == "daytripdetail") { //一日游 - if (!empty($meta_ct_page_type)) { + if (!empty ($meta_ct_page_type)) { $productType = $meta_ct_page_type; } $meta_ct_page_value = get_meta($information->ic_id, 'meta_ct_page_value'); - if (!empty($meta_ct_page_value)) { + if (!empty ($meta_ct_page_value)) { $productCode = $meta_ct_page_value; } $addonJs .= ''; @@ -2814,7 +2981,7 @@ class Information extends CI_Controller //线路 $productType = $meta_ct_page_type; $meta_ct_page_value = get_meta($information->ic_id, 'meta_ct_page_value'); - if (!empty($meta_ct_page_value)) { + if (!empty ($meta_ct_page_value)) { $productCode = $meta_ct_page_value; } @@ -2868,17 +3035,17 @@ class Information extends CI_Controller if ($device == 'mobile') { //移动端读取移动大图 $meta_addon_picture = get_meta($information->ic_id, 'meta_addon_picture_mobile'); $bannerImg = '' . $information->ic_title . ''; - if (!empty($meta_addon_picture_url) && !empty($meta_addon_picture_text)) { + if (!empty ($meta_addon_picture_url) && !empty ($meta_addon_picture_text)) { $ImgText = ''; - } else if (!empty($meta_addon_picture_text)) { + } else if (!empty ($meta_addon_picture_text)) { $ImgText = ''; } } else { $meta_addon_picture = get_meta($information->ic_id, 'meta_addon_picture'); $bannerImg = '' . $information->ic_title . ''; - if (!empty($meta_addon_picture_url) && !empty($meta_addon_picture_text)) { + if (!empty ($meta_addon_picture_url) && !empty ($meta_addon_picture_text)) { $ImgText = ''; - } else if (!empty($meta_addon_picture_text)) { + } else if (!empty ($meta_addon_picture_text)) { $ImgText = ''; } } @@ -2905,8 +3072,8 @@ class Information extends CI_Controller } } - if (!empty($meta_addon_picture)) { - if (!empty($meta_addon_picture_url)) { + if (!empty ($meta_addon_picture)) { + if (!empty ($meta_addon_picture_url)) { $data["TOPBANNER"] = ''; } else { $data["TOPBANNER"] = ''; @@ -2955,9 +3122,9 @@ class Information extends CI_Controller //通过内容找到第一张图片 public function set_photo_content($ic_photo, $ic_content) { - if (empty($ic_photo)) { + if (empty ($ic_photo)) { $images = get_image_url_by_source($ic_content); - if (!empty($images) and !empty($images[1])) { + if (!empty ($images) and !empty ($images[1])) { return $images[1][0]; } } else { @@ -2986,7 +3153,7 @@ class Information extends CI_Controller break; case 'rule_this_node_random': //指定节点下随机 $ir_pointer = $this->Information_model->Detail($recommand->ir_pointer_is_id, 'is_path'); - if (!empty($ir_pointer)) { + if (!empty ($ir_pointer)) { $data = $this->Information_model->random(1, $ir_pointer->is_path, $exclude_ids); } break; @@ -3003,18 +3170,18 @@ class Information extends CI_Controller return false; } //读取备用节点 - if (empty($data) && !empty($recommand->ir_urls)) { //查不到信息并且备选urls不为空,则随机选一条 + if (empty ($data) && !empty ($recommand->ir_urls)) { //查不到信息并且备选urls不为空,则随机选一条 // $url_array = explode("\n", $recommand->ir_urls); // $data = $this->Information_model->Detail(trim($url_array[rand(0, count($url_array) - 1)])); $url_array = explode("\n", $recommand->ir_urls); $data = $this->Information_model->random_range(1, $url_array, $exclude_ids); } - if (!empty($data)) { + if (!empty ($data)) { $exclude_ids[] = $data->is_id; $data->desktop_photo = get_meta($data->ic_id, 'meta_addon_picture'); $data->mobile_photo = get_meta($data->ic_id, 'meta_addon_picture_mobile'); - if (empty($data->mobile_photo)) { - if (!empty($data->ic_photo)) { + if (empty ($data->mobile_photo)) { + if (!empty ($data->ic_photo)) { $data->mobile_photo = $this->config->item('site_image_url') . $data->ic_photo; } else { $data->mobile_photo = 'https://data.chinahighlights.com/image/travelguide/article/recommended-info-bottom-cover.jpg'; @@ -3039,7 +3206,7 @@ class Information extends CI_Controller $exclude_ids = array(0); } $result = $this->recommand_information_rule($information, $root_detail, $item, $exclude_ids); - if (!empty($result)) { + if (!empty ($result)) { $data += $result; } } @@ -3048,9 +3215,9 @@ class Information extends CI_Controller if ($this->config->item('site_code') == 'ah' or $this->config->item('site_code') == 'ch' or $this->config->item('site_code') == 'gh') { //如果是AH CH GH的页面,取消重复检测 $exclude_ids = array(0); } - if (empty($data[$item->ir_name])) { + if (empty ($data[$item->ir_name])) { $result = $this->recommand_information_rule($information, $root_detail, $item, $exclude_ids); - if (!empty($result)) { + if (!empty ($result)) { $data += $result; } } @@ -3070,12 +3237,12 @@ class Information extends CI_Controller case 278008010: //Inspiration //随机获取两个同级节点内容 $random_array = $this->Information_model->random(2, $data['root_detail']->is_path, array($data['detail']->is_id)); - if (!empty($random_array[0])) { + if (!empty ($random_array[0])) { $data['info_howtoplan'] = $random_array[0]; $data['info_howtoplan_root'] = $data['root_detail']; $data['info_howtoplan']->ic_photo = $this->set_photo_content($data['info_howtoplan']->ic_photo, $data['info_howtoplan']->ic_content); } - if (!empty($random_array[1])) { + if (!empty ($random_array[1])) { $data['info_besttime'] = $random_array[1]; $data['info_besttime_root'] = $data['root_detail']; $data['info_besttime']->ic_photo = $this->set_photo_content($data['info_besttime']->ic_photo, $data['info_besttime']->ic_content); @@ -3094,7 +3261,7 @@ class Information extends CI_Controller '/travelguide/china-travel-reopen-restrictions.htm', ); $data['info_topthings'] = $this->Information_model->Detail($random_array[rand(0, count($random_array) - 1)]); - if (!empty($data['info_topthings'])) { + if (!empty ($data['info_topthings'])) { $data['info_topthings_root'] = $this->Information_model->get_detail_by_path($data['info_topthings']->is_path, 1); $data['info_topthings']->ic_photo = $this->set_photo_content($data['info_topthings']->ic_photo, $data['info_topthings']->ic_content); } @@ -3111,7 +3278,7 @@ class Information extends CI_Controller '/travelguide/chinese-language/', ); $data['info_hotel'] = $this->Information_model->Detail($random_array[rand(0, count($random_array) - 1)]); - if (!empty($data['info_hotel'])) { + if (!empty ($data['info_hotel'])) { $data['info_hotel_root'] = $this->Information_model->get_detail_by_path($data['info_hotel']->is_path, 1); $data['info_hotel']->ic_photo = $this->set_photo_content($data['info_hotel']->ic_photo, $data['info_hotel']->ic_content); } @@ -3123,29 +3290,29 @@ class Information extends CI_Controller $destination_url = substr($destination_url, 0, strpos($destination_url, '/', 1) + 1); //how to plan $data['info_howtoplan'] = $this->Information_model->search_by_words($destination_url, array('how', 'plan'), array($data['detail']->is_id)); - if (empty($data['info_howtoplan'])) { //找不到对应信息则显示备用 + if (empty ($data['info_howtoplan'])) { //找不到对应信息则显示备用 $data['info_howtoplan'] = $this->Information_model->Detail('/travelguide/plan-first-trip.htm'); } $data['info_howtoplan_root'] = $this->Information_model->get_detail_by_path($data['info_howtoplan']->is_path, 1); //信息所属分类,获取信息顶级节点内容 - if (!empty($data['info_howtoplan'])) { + if (!empty ($data['info_howtoplan'])) { $data['info_howtoplan']->ic_photo = $this->set_photo_content($data['info_howtoplan']->ic_photo, $data['info_howtoplan']->ic_content); } //best time to visit $data['info_besttime'] = $this->Information_model->search_by_words($destination_url, array('best', 'time'), array($data['detail']->is_id)); - if (empty($data['info_besttime'])) { + if (empty ($data['info_besttime'])) { $data['info_besttime'] = $this->Information_model->Detail('/weather/china-best-times.htm'); } $data['info_besttime_root'] = $this->Information_model->get_detail_by_path($data['info_besttime']->is_path, 1); //信息所属分类,获取信息顶级节点内容 - if (!empty($data['info_besttime'])) { + if (!empty ($data['info_besttime'])) { $data['info_besttime']->ic_photo = $this->set_photo_content($data['info_besttime']->ic_photo, $data['info_besttime']->ic_content); } //top things to do $data['info_topthings'] = $this->Information_model->search_by_words($destination_url, array('top', 'things'), array($data['detail']->is_id)); - if (empty($data['info_topthings'])) { + if (empty ($data['info_topthings'])) { $data['info_topthings'] = $this->Information_model->Detail('/travelguide/article-top-china-tourist-destination.htm'); } $data['info_topthings_root'] = $this->Information_model->get_detail_by_path($data['info_topthings']->is_path, 1); //信息所属分类,获取信息顶级节点内容 - if (!empty($data['info_topthings'])) { + if (!empty ($data['info_topthings'])) { $data['info_topthings']->ic_photo = $this->set_photo_content($data['info_topthings']->ic_photo, $data['info_topthings']->ic_content); } //第四篇,随机推荐下方url @@ -3158,7 +3325,7 @@ class Information extends CI_Controller '/aboutus/company-history.htm', ); $data['info_hotel'] = $this->Information_model->Detail($random_array[rand(0, count($random_array) - 1)]); - if (!empty($data['info_hotel'])) { + if (!empty ($data['info_hotel'])) { $data['info_hotel_root'] = $this->Information_model->get_detail_by_path($data['info_hotel']->is_path, 1); $data['info_hotel']->ic_photo = $this->set_photo_content($data['info_hotel']->ic_photo, $data['info_hotel']->ic_content); } @@ -3174,10 +3341,10 @@ class Information extends CI_Controller //不用参数提交的原因是可能url带有特殊字符,CI会报错 public function update_cache($static_html_url = false, $delete_only = false) { - $url = !empty($static_html_url) ? $static_html_url : $this->input->post('cache_url'); + $url = !empty ($static_html_url) ? $static_html_url : $this->input->post('cache_url'); $url = str_replace($this->config->item('site_url'), '', $url); $original_url = $url; //原始链接 - $delete_only = !empty($delete_only) ? $delete_only : $this->input->get_post('delete_only'); + $delete_only = !empty ($delete_only) ? $delete_only : $this->input->get_post('delete_only'); switch ($this->config->item('site_code')) { case 'cht': @@ -3229,13 +3396,13 @@ class Information extends CI_Controller $tmp = $url; //判断是否是更新信息 // 产品页面不能生成静态页面,比如/beijing/hotel/只是为了在导航显示一个链接,如果生成了静态页面,网前只会显示一个空白页面了 - if (!empty($information->ic_content) || !empty($information->ic_summary) || $meta_pc_amp == 'yes') { + if (!empty ($information->ic_content) || !empty ($information->ic_summary) || $meta_pc_amp == 'yes') { $url = $this->config->item('site_url') . '/index.php/information/detail/?static_html_url=' . $url; } else { $url = $this->config->item('site_url') . '/index.php/welcome/update_cache/?static_html_url=' . $url; //$url = $this->config->item('site_url') . '/index.php/information/detail/?static_html_url=' . $url; } - if (isset($information->ic_type) && $information->ic_type == 'product') { + if (isset ($information->ic_type) && $information->ic_type == 'product') { $url = $this->config->item('site_url') . '/index.php/welcome/update_cache/?static_html_url=' . $tmp; } //int return direct @@ -3266,12 +3433,13 @@ class Information extends CI_Controller } } break; - //国际站 - GH + //国际站 - GH - add gm case 'gh_vac': case 'gh_vc': case 'gh_it': case 'gh_ru': case 'gh_jp': + case 'gh_gm': $information = $this->Information_model->Detail($url); $meta_pc_amp = @get_meta($information->ic_id, 'AMP_BODY_PC_STATUS'); if ($delete_only) { @@ -3281,18 +3449,18 @@ class Information extends CI_Controller $tmp = $url; //判断是否是更新信息 // 产品页面不能生成静态页面,比如/beijing/hotel/只是为了在导航显示一个链接,如果生成了静态页面,网前只会显示一个空白页面了 - if (!empty($information->ic_content) || !empty($information->ic_summary) || $meta_pc_amp == 'yes') { + if (!empty ($information->ic_content) || !empty ($information->ic_summary) || $meta_pc_amp == 'yes') { $url = $this->config->item('site_url') . '/index.php/gh/info/detail/?static_html_url=' . $url; } else { $url = $this->config->item('site_url') . '/index.php/welcome/update_cache/?static_html_url=' . $url; //$url = $this->config->item('site_url') . '/index.php/information/detail/?static_html_url=' . $url; } - if (isset($information->ic_type) && $information->ic_type == 'product') { + if (isset ($information->ic_type) && $information->ic_type == 'product') { $url = $this->config->item('site_url') . '/index.php/welcome/update_cache/?static_html_url=' . $tmp; } // GH国际 不发布的时候删除缓存 - if (isset($information) && !empty($information) && !$information->ic_status) { + if (isset ($information) && !empty ($information) && !$information->ic_status) { $url = $this->config->item('site_url') . '/index.php/welcome/update_cache/delete_only?static_html_url=' . $tmp; } @@ -3370,14 +3538,14 @@ class Information extends CI_Controller $update_site = array('jp', 'ru'); //需要更新CDN的站点 //需要更新的url $url = $static_html_url; - if (empty($url)) { + if (empty ($url)) { $url = $this->input->post('cache_url'); } //如果传递进来的url是带有域名,则对域名进行判断 $tempu = parse_url($url); - if (isset($tempu['host'])) { - $url = isset($tempu['path']) ? $tempu['path'] : '/'; + if (isset ($tempu['host'])) { + $url = isset ($tempu['path']) ? $tempu['path'] : '/'; $pad = $tempu['host']; $flag = true; } //如果传递进来的url没有域名,则使用当前站点的信息进行判断 diff --git a/application/models/infoContents_model.php b/application/models/infoContents_model.php index 1516442a..2dbf35ab 100644 --- a/application/models/infoContents_model.php +++ b/application/models/infoContents_model.php @@ -71,14 +71,33 @@ class InfoContents_model extends CI_Model $query = $this->HT->query( $sql, array( - $ic_url, $ic_url_title, $ic_type, $ic_title, str_replace( + $ic_url, + $ic_url_title, + $ic_type, + $ic_title, + str_replace( $this->config->item('media_image_url'), $this->config->item('site_image_url'), $ic_content ), - $ic_summary, $ic_seo_title, $ic_seo_description, $ic_seo_keywords, $ic_show_bread_crumbs, $ic_status, - $ic_template, $ic_photo, $ic_photo_width, $ic_photo_height, $this->config->item('site_code'), $ic_recommend_tours, $ic_recommend_packages, - $ic_ht_area_id, $ic_ht_area_type, $ic_ht_product_id, $ic_ht_product_type, $ic_author + $ic_summary, + $ic_seo_title, + $ic_seo_description, + $ic_seo_keywords, + $ic_show_bread_crumbs, + $ic_status, + $ic_template, + $ic_photo, + $ic_photo_width, + $ic_photo_height, + $this->config->item('site_code'), + $ic_recommend_tours, + $ic_recommend_packages, + $ic_ht_area_id, + $ic_ht_area_type, + $ic_ht_product_id, + $ic_ht_product_type, + $ic_author ) ); $this->insert_id = $this->HT->last_id('infoContents'); @@ -110,7 +129,7 @@ class InfoContents_model extends CI_Model $ic_author, $site_code = '' ) { - if (empty($site_code)) { + if (empty ($site_code)) { $site_code = $this->config->item('site_code'); } $ic_content = str_replace('http:' . $this->config->item('site_image_url'), $this->config->item('site_image_url'), $ic_content); @@ -135,14 +154,33 @@ class InfoContents_model extends CI_Model $query = $this->HT->query( $sql, array( - $ic_url, $ic_url_title, $ic_type, $ic_title, str_replace( + $ic_url, + $ic_url_title, + $ic_type, + $ic_title, + str_replace( $this->config->item('media_image_url'), $this->config->item('site_image_url'), $ic_content ), - $ic_summary, $ic_seo_title, $ic_seo_description, $ic_seo_keywords, $ic_show_bread_crumbs, $ic_status, - $ic_template, $ic_photo, $ic_photo_width, $ic_photo_height, $site_code, $ic_recommend_tours, $ic_recommend_packages, - $ic_ht_area_id, $ic_ht_area_type, $ic_ht_product_id, $ic_ht_product_type, $ic_author + $ic_summary, + $ic_seo_title, + $ic_seo_description, + $ic_seo_keywords, + $ic_show_bread_crumbs, + $ic_status, + $ic_template, + $ic_photo, + $ic_photo_width, + $ic_photo_height, + $site_code, + $ic_recommend_tours, + $ic_recommend_packages, + $ic_ht_area_id, + $ic_ht_area_type, + $ic_ht_product_id, + $ic_ht_product_type, + $ic_author ) ); $this->insert_id = $this->HT->last_id('infoContents'); @@ -214,10 +252,30 @@ class InfoContents_model extends CI_Model $query = $this->HT->query( $sql, array( - $ic_url, $ic_url_title, $ic_type, $ic_title, $ic_content, $ic_summary, - $ic_seo_title, $ic_seo_description, $ic_seo_keywords, $ic_show_bread_crumbs, $ic_status, $ic_template, $ic_photo, $ic_photo_width, $ic_photo_height, - $ic_recommend_tours, $ic_recommend_packages, $ic_ht_area_id, - $ic_ht_area_type, $ic_ht_product_id, $ic_ht_product_type, $ic_author, $ic_id, $this->config->item('site_code') + $ic_url, + $ic_url_title, + $ic_type, + $ic_title, + $ic_content, + $ic_summary, + $ic_seo_title, + $ic_seo_description, + $ic_seo_keywords, + $ic_show_bread_crumbs, + $ic_status, + $ic_template, + $ic_photo, + $ic_photo_width, + $ic_photo_height, + $ic_recommend_tours, + $ic_recommend_packages, + $ic_ht_area_id, + $ic_ht_area_type, + $ic_ht_product_id, + $ic_ht_product_type, + $ic_author, + $ic_id, + $this->config->item('site_code') ) ); return $query; @@ -278,6 +336,18 @@ class InfoContents_model extends CI_Model } } + public function get_ic_contents2_gm($ic_id) + { + $sql = "SELECT top 1 * from information_gm.dbo.infoContents where ic_id=?"; + $query = $this->HT->query($sql, array($ic_id)); + if ($query->result()) { + $row = $query->row(); + return $row; + } else { + return FALSE; + } + } + public function get_ic_contents_by_list($ic_id_list) { $ic_id_list = trim($ic_id_list); diff --git a/application/models/infoMetas_model.php b/application/models/infoMetas_model.php index 554c67f7..e47ab475 100644 --- a/application/models/infoMetas_model.php +++ b/application/models/infoMetas_model.php @@ -152,6 +152,20 @@ class InfoMetas_model extends CI_Model } } + function get_gm($im_ic_id, $im_key) + { + $sql = "SELECT im.im_value \n" + . "FROM information_gm.dbo.infoMetas im \n" + . "WHERE im.im_ic_id = ? \n" + . " AND im.im_key = ?"; + $query = $this->HT->query($sql, array($im_ic_id, $im_key)); + if ($query->num_rows() > 0) { + return $query->row()->im_value; + } else { + return false; + } + } + function detail($im_ic_id, $im_key) { $sql = "SELECT im.im_value \n" diff --git a/application/models/infoStructures_model.php b/application/models/infoStructures_model.php index fccabaf2..f88cfb5b 100644 --- a/application/models/infoStructures_model.php +++ b/application/models/infoStructures_model.php @@ -35,6 +35,28 @@ class InfoStructures_model extends CI_Model } } + function Detail_gm($is_id) + { + $sql = "SELECT TOP 1 is1.is_id, \n" + . " is1.is_parent_id, \n" + . " is1.is_path, \n" + . " is1.is_level, \n" + . " is1.is_sort, \n" + . " is1.is_sitecode, \n" + . " is1.is_datetime, \n" + . " is1.is_ic_id \n" + . "FROM information_gm.dbo.infoStructures is1 \n" + . "WHERE is1.is_id = ?"; + $query = $this->HT->query($sql, array($is_id)); + //print_r($this->HT->queries); + if ($query->result()) { + $row = $query->row(); + return $row; + } else { + return FALSE; + } + } + function Add($is_parent_id, $is_ic_id = -1, $is_sort = 999) { @@ -75,7 +97,7 @@ class InfoStructures_model extends CI_Model function Add_with_sitecode($is_parent_id, $is_ic_id = -1, $is_sort = 999, $site_code = '') { - if (empty($site_code)) { + if (empty ($site_code)) { $site_code = $this->config->item('site_code'); } if ($is_parent_id == 0) { diff --git a/application/models/information_model.php b/application/models/information_model.php index a80ffa61..8e37ebc8 100644 --- a/application/models/information_model.php +++ b/application/models/information_model.php @@ -155,6 +155,18 @@ class Information_model extends CI_Model return $this->GetList($filed, $site_code); } + //根据根节点路径获取子节点列表 + function get_list_by_path_gm($path, $level = false, $site_code = false, $filed = false) + { + $this->init(); + if ($level !== false) { + $this->level = " AND is1.is_level= '$level' "; + } + $this->path = " AND is1.is_path LIKE '$path%' "; + $this->orderBy = ' ORDER BY is1.is_level ASC, is1.is_sort ASC,is1.is_path ASC '; + return $this->GetList_gm($filed, $site_code); + } + /** * 获取当前页面的面包屑,不包括当前节点 */ @@ -303,7 +315,7 @@ class Information_model extends CI_Model function Detail($ic_url_is_id, $filed = '', $site_code = '') { - if (empty($ic_url_is_id)) { + if (empty ($ic_url_is_id)) { return false; } $this->init(); @@ -318,7 +330,7 @@ class Information_model extends CI_Model function detail_by_ic_id($ic_id) { - if (empty($ic_id)) { + if (empty ($ic_id)) { return false; } $this->init(); @@ -330,7 +342,7 @@ class Information_model extends CI_Model function GetList($filed = "", $site_code = "") { $this->topNum ? $sql = "SELECT TOP " . $this->topNum : $sql = "SELECT "; - if (empty($filed)) { + if (empty ($filed)) { $sql .= " is1.is_id, \n" . " is1.is_parent_id, \n" . " is1.is_path, \n" @@ -407,6 +419,86 @@ class Information_model extends CI_Model } } + function GetList_gm($filed = "", $site_code = "") + { + $this->topNum ? $sql = "SELECT TOP " . $this->topNum : $sql = "SELECT "; + if (empty ($filed)) { + $sql .= " is1.is_id, \n" + . " is1.is_parent_id, \n" + . " is1.is_path, \n" + . " is1.is_level, \n" + . " is1.is_sort, \n" + . " is1.is_sitecode, \n" + . " is1.is_datetime, \n" + . " is1.is_ic_id, \n" + . " ic.ic_id, \n" + . " ic.ic_url, \n" + . " ic.ic_url_title, \n" + . " ic.ic_type, \n" + . " ic.ic_title, \n" + . " ic.ic_content, \n" + . " ic.ic_summary, \n" + . " ic.ic_seo_title, \n" + . " ic.ic_seo_description, \n" + . " ic.ic_seo_keywords, \n" + . " ic.ic_show_bread_crumbs, \n" + . " ic.ic_status, \n" + . " ic.ic_template, \n" + . " ic.ic_photo, \n" + . " ic.ic_photo_width, \n" + . " ic.ic_photo_height, \n" + . " ic.ic_sitecode, \n" + . " ic.ic_recommend_tours, \n" + . " ic.ic_recommend_packages, \n" + . " ic.ic_datetime, \n" + . " ic.ic_ht_area_id, \n" + . " ic.ic_ht_area_type, \n" + . " ic.ic_ht_product_id, \n" + . " ic.ic_ht_product_type, \n" + . " ic.SRMS_SIC_Code, \n" + . " ic.SRMS_SIIT_Code, \n" + . " ic.ic_author \n"; + } else { + $sql .= " $filed "; + } + //添加查询AMP发布状态 + //$sql.=",isnull((select top 1 CONVERT(varchar, im_value) from infoMetas where im_ic_id=ic_id and im_key='AMP_STATUS'),0) as amp_status "; + $sql .= ",0 as amp_status "; + $sql .= "FROM information_gm.dbo.infoStructures is1 \n" + . " INNER JOIN information_gm.dbo.infoContents ic ON ic.ic_id = is1.is_ic_id \n" + . " left JOIN information_gm.dbo.infoMetas map on ic.ic_id = map.im_ic_id AND map.im_key = 'meta_addon_picture' \n" + . " left JOIN information_gm.dbo.infoMetas mapm on ic.ic_id = mapm.im_ic_id AND mapm.im_key = 'meta_addon_picture_mobile' \n" + . " AND ic.ic_sitecode = is1.is_sitecode \n" + . "WHERE is1.is_sitecode = ? "; + $this->search_title ? $sql .= $this->search_title : false; + $this->search_url ? $sql .= $this->search_url : false; + $this->search ? $sql .= $this->search : false; + $this->path ? $sql .= $this->path : false; + $this->level ? $sql .= $this->level : false; + $this->is_parent_id ? $sql .= $this->is_parent_id : false; + $this->is_id_array ? $sql .= $this->is_id_array : false; + $this->ic_url_is_id ? $sql .= $this->ic_url_is_id : false; + $this->ic_id ? $sql .= $this->ic_id : false; + $this->ic_type ? $sql .= $this->ic_type : false; + $this->ic_ht_area_type ? $sql .= $this->ic_ht_area_type : false; + $this->ic_ht_area_id ? $sql .= $this->ic_ht_area_id : false; + + $this->orderBy ? $sql .= $this->orderBy : false; + + $query = $this->HT->query($sql, array($site_code ? $site_code : $this->config->item('site_code'))); + //print_r($this->HT->queries); + if ($this->topNum === 1) { + if ($query->num_rows() > 0) { + $row = $query->row(); + return $row; + } else { + return FALSE; + } + } else { + return $query->result(); + } + } + //根据区域信息获取根节点 function GetRoot($ic_ht_area_type, $ic_ht_area_id) { @@ -444,7 +536,7 @@ class Information_model extends CI_Model WHERE is1.is_id=?"; $query = $this->HT->query($sql, array($is_id)); $result = $query->result(); - if (!empty($result)) { + if (!empty ($result)) { return $result[0]->CII_PRI_SN; } else { return false; diff --git a/application/views/mobile_first/ah-feedback-30-list.php b/application/views/mobile_first/ah-feedback-30-list.php index ac49bf85..a066b2af 100644 --- a/application/views/mobile_first/ah-feedback-30-list.php +++ b/application/views/mobile_first/ah-feedback-30-list.php @@ -4,7 +4,7 @@

- More + More
,
diff --git a/application/views/mobile_first/ah-feedback-city-list.php b/application/views/mobile_first/ah-feedback-city-list.php index 45dea0d3..07db1210 100644 --- a/application/views/mobile_first/ah-feedback-city-list.php +++ b/application/views/mobile_first/ah-feedback-city-list.php @@ -5,10 +5,10 @@ $feedback) {?>
- +

-

- More +

+ More
,
More Thailand reviews
@@ -20,10 +20,10 @@ $feedback) {?>
- +

-

- More +

+ More
,
More Vietnam reviews
@@ -35,10 +35,10 @@ $feedback) {?>
- +

-

- More +

+ More
,
More Cambodia reviews
@@ -50,10 +50,10 @@ $feedback) {?>
- +

-

- More +

+ More
,
More Japan reviews
@@ -67,10 +67,10 @@ $feedback) {?>
- +

-

- More +

+ More
,
More Myanmar reviews
@@ -82,10 +82,10 @@ $feedback) {?>
- +

-

- More +

+ More
,
More China reviews
diff --git a/application/views/mobile_first/ah-feedback-list.php b/application/views/mobile_first/ah-feedback-list.php index fc79fcb8..45f6f280 100644 --- a/application/views/mobile_first/ah-feedback-list.php +++ b/application/views/mobile_first/ah-feedback-list.php @@ -1,5 +1,5 @@ -

Discover real reviews of Highlights Travel Family's best-rated service across trusted platforms.

+

Discover real reviews of Highlights Travel Family's best-rated service across trusted platforms.

@@ -25,7 +25,7 @@

- More + More
,
diff --git a/application/views/mobile_first/ah-feedback-newest-10.php b/application/views/mobile_first/ah-feedback-newest-10.php index 46e7df8a..b99aba1b 100644 --- a/application/views/mobile_first/ah-feedback-newest-10.php +++ b/application/views/mobile_first/ah-feedback-newest-10.php @@ -17,7 +17,7 @@

- more + more
,
diff --git a/application/views/mobile_first/ah-feedback-newest.php b/application/views/mobile_first/ah-feedback-newest.php index 0507299c..15b485cf 100644 --- a/application/views/mobile_first/ah-feedback-newest.php +++ b/application/views/mobile_first/ah-feedback-newest.php @@ -1,5 +1,5 @@ -

Discover real reviews of Highlights Travel Family's best-rated service across trusted platforms.

+

Discover real reviews of Highlights Travel Family's best-rated service across trusted platforms.

@@ -26,7 +26,7 @@

- More + More
,
diff --git a/application/views/mobile_first/ah-feedback-right.php b/application/views/mobile_first/ah-feedback-right.php index a826d769..de183463 100644 --- a/application/views/mobile_first/ah-feedback-right.php +++ b/application/views/mobile_first/ah-feedback-right.php @@ -14,7 +14,7 @@

- More + More
,
diff --git a/application/views/mobile_first/ah-h1.php b/application/views/mobile_first/ah-h1.php index 4df674c9..9f8de67a 100644 --- a/application/views/mobile_first/ah-h1.php +++ b/application/views/mobile_first/ah-h1.php @@ -1,11 +1,5 @@
- - - - <?php echo !empty($information->ic_title)?$information->ic_title:'H1 title asiahighlights mobile first template'; ?> -
Home @@ -22,24 +16,5 @@
- - - - - -
diff --git a/application/views/mobile_first/ah-info-page-form.php b/application/views/mobile_first/ah-info-page-form.php index 2960f076..03df062e 100644 --- a/application/views/mobile_first/ah-info-page-form.php +++ b/application/views/mobile_first/ah-info-page-form.php @@ -168,9 +168,8 @@
diff --git a/application/views/mobile_first/ah-inquiry-form.php b/application/views/mobile_first/ah-inquiry-form.php index 689050e4..20f6bb0f 100644 --- a/application/views/mobile_first/ah-inquiry-form.php +++ b/application/views/mobile_first/ah-inquiry-form.php @@ -186,9 +186,8 @@
diff --git a/application/views/mobile_first/ah-lantern-festival-gp-form.php b/application/views/mobile_first/ah-lantern-festival-gp-form.php index 3d371945..40da5de4 100644 --- a/application/views/mobile_first/ah-lantern-festival-gp-form.php +++ b/application/views/mobile_first/ah-lantern-festival-gp-form.php @@ -6,27 +6,37 @@

Traveler numbers for your group:

-
-

- Adult & kids (≥8 years old) -

-
- - - -
-
- -
-

- Kids (0-7 years old) -

-
- - - -
-
+
+

+ Adult & kids (≥8 years old) +

+
+ + + +
+
+ +
+

+ Kids (0-7 years old) +

+
+ + + +
+
diff --git a/application/views/mobile_first/ah-lantern-form-info-page.php b/application/views/mobile_first/ah-lantern-form-info-page.php index 294f3fcc..26a0f985 100644 --- a/application/views/mobile_first/ah-lantern-form-info-page.php +++ b/application/views/mobile_first/ah-lantern-form-info-page.php @@ -25,7 +25,7 @@ @@ -35,7 +35,7 @@ @@ -45,7 +45,7 @@ @@ -62,7 +62,12 @@
+ name="adult" style="width: 50px; + height: 22px; + top: -5px; + position: relative; + text-align: center; + font-size: 20px;">
@@ -410,7 +415,7 @@ var currentTarget = event.currentTarget; var adultNumberValue = parseInt(adultNumberNode.value); if (currentTarget.value === 'Premium+Transfer+Dinner') { - ticketPrice = 199; + ticketPrice = 179; } else if (currentTarget.value === 'Standard+Transfer+Dinner') { ticketPrice = 129; } else if (currentTarget.value === 'VIP+Transfer+Dinner') { diff --git a/application/views/mobile_first/ah-lantern-form.php b/application/views/mobile_first/ah-lantern-form.php index 98af9c5b..0e548eec 100644 --- a/application/views/mobile_first/ah-lantern-form.php +++ b/application/views/mobile_first/ah-lantern-form.php @@ -26,7 +26,7 @@ @@ -36,7 +36,7 @@ @@ -46,7 +46,7 @@ @@ -62,7 +62,13 @@
- +
@@ -406,7 +412,7 @@ var currentTarget = event.currentTarget; var adultNumberValue = parseInt(adultNumberNode.value); if (currentTarget.value === 'Premium+Transfer+Dinner') { - ticketPrice = 199; + ticketPrice = 179; } else if (currentTarget.value === 'Standard+Transfer+Dinner') { ticketPrice = 129; } else if (currentTarget.value === 'VIP+Transfer+Dinner') { diff --git a/application/views/mobile_first/ah-pc.php b/application/views/mobile_first/ah-pc.php index 31e6e6c6..7b4e79ba 100644 --- a/application/views/mobile_first/ah-pc.php +++ b/application/views/mobile_first/ah-pc.php @@ -50,10 +50,10 @@
How to Plan an Incredible Family Trip to Japan in 2024/2025. Learn more.
- + @@ -219,21 +240,25 @@
-

Why Asia Highlights (10,000+ reviews & 98.8% 5-star rating)

+

Why Asia Highlights (10,000+ reviews & 98.8% 5-star rating)

+
-
Create my trip +
Create + my trip
@@ -246,8 +271,8 @@ Celebrate milestones with style!
- Start planning your tailor-made tour with 1-1 help - from our travel advisors. + Start planning your tailor-made tour with 1-1 help + from our travel advisors. Create My Trip @@ -259,25 +284,15 @@ Celebrate milestones with style!
-

Sign up to Our Newsletter

-

Be the first to receive exciting updates, exclusive promotions, and valuable travel tips from our - team of experts.

-
- - - -
+

Sign up to Our Newsletter

+

Be the first to receive exciting updates, exclusive promotions, and valuable + travel tips from our + team of experts.

+ Click to sign up
-
+ -
+

Why Asia Highlights

@@ -285,55 +300,59 @@ Celebrate milestones with style! - + @@ -344,19 +363,21 @@ Celebrate milestones with style!
-

Where Can We Take You Today?

- - + +
@@ -364,70 +385,89 @@ Celebrate milestones with style!
-
-
- -
- - Rated 5 out of 5 | 98.8% Excellence
- China Highlights International
Travel Service Co., LTD -
-
- -
- -
-
Language
- -
- -
-
Featured on
- China Highlights was featured on these medias. -
- -

Address: Building 6, Chuangyi Business Park, 70 Qilidian Road, Guilin, Guangxi, 541004, China

-
-
+
+
+ +
+ + Rated 5 out of 5 | 98.8% Excellence
+ China Highlights International
Travel Service Co., LTD +
+
+ +
+ +
+
Language
+ +
+ +
+
Featured on
+ China Highlights was featured on these medias. +
+ +

Address: Building 6, Chuangyi Business + Park, 70 Qilidian Road, Guilin, Guangxi, 541004, China

+
+
- - - - @@ -617,20 +597,5 @@ function validateNewsletterForm() { - - \ No newline at end of file diff --git a/application/views/mobile_first/ah-structured-data-article.php b/application/views/mobile_first/ah-structured-data-article.php index 2b03ebbe..75a180a3 100644 --- a/application/views/mobile_first/ah-structured-data-article.php +++ b/application/views/mobile_first/ah-structured-data-article.php @@ -14,7 +14,7 @@ "dateModified": "", "author": { "@type": "Person", - "name": "OPI_FirstName; ?>" + "name": "" }, "publisher": { "@type": "Organization", diff --git a/application/views/mobile_first/ah-tips-right-list.php b/application/views/mobile_first/ah-tips-right-list.php index 211b7943..c0c9480c 100644 --- a/application/views/mobile_first/ah-tips-right-list.php +++ b/application/views/mobile_first/ah-tips-right-list.php @@ -1,22 +1,22 @@
-
Popular tours
-
+ + -
Make the most of your time
-
+ +
Make the most of your time
-
Choose the best time to visit
-
+ +
Choose the best time to visit
    $info) {?>
  • ic_title ?>
  • diff --git a/application/views/mobile_first/ah-tour-list-form.php b/application/views/mobile_first/ah-tour-list-form.php index 1f500f3f..0dce98f5 100644 --- a/application/views/mobile_first/ah-tour-list-form.php +++ b/application/views/mobile_first/ah-tour-list-form.php @@ -171,44 +171,46 @@
diff --git a/application/views/mobile_first/ah.php b/application/views/mobile_first/ah.php index 2668e062..cfdf1c98 100644 --- a/application/views/mobile_first/ah.php +++ b/application/views/mobile_first/ah.php @@ -177,23 +177,7 @@

Be the first to receive exciting updates, exclusive promotions, and valuable travel tips from our team of experts.

-
- - - - + Click to sign up
@@ -377,65 +361,6 @@ © 2016-2024 Asia Highlights
— Discovery Your Way!
- - - @@ -564,20 +489,4 @@ - - - \ No newline at end of file diff --git a/application/views/mobile_first/ch-feedback-30-list.php b/application/views/mobile_first/ch-feedback-30-list.php index 2510cbf5..a8a1f839 100644 --- a/application/views/mobile_first/ch-feedback-30-list.php +++ b/application/views/mobile_first/ch-feedback-30-list.php @@ -1,9 +1,9 @@

Discover real reviews of Highlights Travel Family's best-rated service across trusted platforms.

+padding-bottom: 0;" class="city_feedback">Discover real reviews of Highlights Travel Family's best-rated service across trusted platforms.

-
+
@@ -18,7 +18,7 @@ padding-bottom: 0;">Discover real reviews of

-
More + More
,
diff --git a/application/views/mobile_first/ch-feedback-city-list.php b/application/views/mobile_first/ch-feedback-city-list.php index 8b76a970..e7b804e6 100644 --- a/application/views/mobile_first/ch-feedback-city-list.php +++ b/application/views/mobile_first/ch-feedback-city-list.php @@ -8,7 +8,7 @@

- More + More
,
@@ -23,7 +23,7 @@

- More + More
,
@@ -38,7 +38,7 @@

- More + More
,
@@ -53,7 +53,7 @@

- More + More
,
@@ -68,7 +68,7 @@

- More + More
,
@@ -83,7 +83,7 @@

- More + More
,
@@ -98,7 +98,7 @@

- More + More
,
@@ -113,7 +113,7 @@

- More + More
,
@@ -128,7 +128,7 @@

- More + More
,
@@ -143,7 +143,7 @@

- More + More
,
@@ -158,7 +158,7 @@

- More + More
,
@@ -173,7 +173,7 @@

- More + More
,
@@ -188,48 +188,9 @@

- More + More
,
-

Read more Hangzhou travel reviews.

- -

All Destinations' Feedbacks

-
-
- -
-
- -
-
- -
-
- -
- -
\ No newline at end of file +

Read more Hangzhou travel reviews.

\ No newline at end of file diff --git a/application/views/mobile_first/ch-feedback-list.php b/application/views/mobile_first/ch-feedback-list.php index 94171187..7e07d6d8 100644 --- a/application/views/mobile_first/ch-feedback-list.php +++ b/application/views/mobile_first/ch-feedback-list.php @@ -26,7 +26,7 @@

- more + more
,
diff --git a/application/views/mobile_first/ch-feedback-newest.php b/application/views/mobile_first/ch-feedback-newest.php index 1847fb37..64f32b5d 100644 --- a/application/views/mobile_first/ch-feedback-newest.php +++ b/application/views/mobile_first/ch-feedback-newest.php @@ -23,7 +23,7 @@

- more + more
,
diff --git a/application/views/mobile_first/ch-feedback.php b/application/views/mobile_first/ch-feedback.php index 2a7b75a4..f3da1119 100644 --- a/application/views/mobile_first/ch-feedback.php +++ b/application/views/mobile_first/ch-feedback.php @@ -6,6 +6,6 @@
Trip Advisor travelers' choice 2022

reviewed ,
-

 more

+

 more

\ No newline at end of file diff --git a/application/views/mobile_first/ch-h1.php b/application/views/mobile_first/ch-h1.php index 11b7b02c..6db212bb 100644 --- a/application/views/mobile_first/ch-h1.php +++ b/application/views/mobile_first/ch-h1.php @@ -1,15 +1,7 @@
- -
- <?php echo !empty($ic_title)?$ic_title:'H1 title Chinahighlights mobile first template'; ?> -
- -
-
- +
Home $item) {?> @@ -20,22 +12,8 @@
Written by Updated
- -
\ No newline at end of file diff --git a/application/views/mobile_first/ch-info-top-img.php b/application/views/mobile_first/ch-info-top-img.php index 83ae235b..182418ca 100644 --- a/application/views/mobile_first/ch-info-top-img.php +++ b/application/views/mobile_first/ch-info-top-img.php @@ -1,6 +1,3 @@ -
- <?php echo !empty($ic_title)?$ic_title:'H1 title Chinahighlights mobile first template'; ?> -
+ \ No newline at end of file diff --git a/application/views/mobile_first/ch-pc.php b/application/views/mobile_first/ch-pc.php index 19125d18..438627f9 100644 --- a/application/views/mobile_first/ch-pc.php +++ b/application/views/mobile_first/ch-pc.php @@ -322,7 +322,6 @@ experience. Learn more -
@@ -362,19 +361,9 @@

Sign up to Our Newsletter

Be the first to receive exciting updates, exclusive promotions, and valuable travel tips from our - team of experts.

-
- - - - + team of experts.

+ Click to Sign up +
- -
@@ -560,65 +548,6 @@ Travel Service Co., LTD - - -
-
Save Your Time
- -

Save Your Time

+
Save Your Time
+ +

Save Your Time

  • Less research, more enjoyment!
  • -
  • Real-time 1V1 expert planning.
  • -
  • Seamless coordination
  • +
  • Real-time 1V1 expert planning.
  • +
  • Seamless coordination
- +
-
Maximize Your Flexibility
+
Maximize Your Flexibility

Maximize Your Flexibility

  • Your own personal guide and ride.
  • -
  • Explore at your own pace.
  • -
  • Unparalleled flexibility, impossible on a group tour.
  • +
  • Explore at your own pace.
  • +
  • Unparalleled flexibility, impossible on a group tour.
-
Ensure Your Satisfactory
+
Ensure Your Satisfactory

Ensure Your Satisfactory

  • Well-trained elite 20% of guides.
  • -
  • 20% vacancy on vehicles.
  • -
  • 24/7 emergency support.
  • +
  • 20% vacancy on vehicles.
  • +
  • 24/7 emergency support.
-
Celebrate Your Journey
+
Celebrate Your Journey +

Celebrate Your Journey

  • Family adventures
  • -
  • Celebrate milestones with style!
  • -
  • Photographer service for special moments
  • +
  • Celebrate milestones with style!
  • +
  • Photographer service for special moments
- +