HT = $this->load->database('INFO', TRUE); } function not_done_html_info($h_sitecode){ $sql="select top 500 * from html_infos where h_sitecode=? and h_done=0 order by h_id desc"; $query=$this->HT->query($sql,$h_sitecode); return $query->result(); } function update_html_info($h_id,$h_h1,$h_title,$h_url,$h_description,$h_content,$h_source,$h_done){ $sql=' update html_infos set h_done=? ,h_url=N?, h_description=N? ,h_h1=N? ,h_title=N?,h_content=N? ,h_source=N? where h_id=? '; return $this->HT->query($sql,array($h_done,$h_url,$h_description,$h_h1,$h_title,$h_content,$h_source,$h_id)); } function import_clear() { $this->HT->query('TRUNCATE TABLE infoContents'); $this->HT->query('TRUNCATE TABLE infoStructures'); } function import_clear_site(){ $this->HT->query("DELETE FROM infoContents WHERE ic_sitecode='mct'"); $this->HT->query("DELETE FROM infoStructures WHERE is_sitecode='mct'"); } function get_site_urls(){ $sql="select ic_url FROM infoContents WHERE ic_sitecode='mct' and ic_status=1 and ic_url is not null"; $query=$this->HT->query($sql); return $query->result(); } //1.从srms导入有用的信息到信息平台 //**************************************** //**************************************** // 【第3点(根据信息内容建立结构数据),建立结构的那个网站code需要替换,不然会新建重复的结构】 //**************************************** //**************************************** function import_info() { $site_array = $this->config->item('site'); $site_arrays['mct'] = $site_array['mct'];//只导入mct $site_array = $site_arrays; foreach ($site_array as $key => $item) { //填充内容表,原SRMS的结构是公用的,现在需要先把内容导入,之后在信息平台数据库建立缺少的结构 $sql = "DECLARE @LGC INT \n" . "DECLARE @SiteID INT \n" . "DECLARE @SiteCode VARCHAR(8) \n" . "SET @LGC = ? \n" . "SET @SiteID = ? \n" . "SET @SiteCode = ? \n" . " \n" . "INSERT INTO infoContents \n" . " ( \n" . " ic_url, ic_url_title, ic_type, ic_title, ic_content, ic_summary, \n" . " ic_seo_title, ic_seo_description, ic_seo_keywords, ic_show_bread_crumbs, \n" . " ic_status, ic_template, ic_photo, ic_sitecode, ic_recommend_tours, \n" . " ic_recommend_packages, ic_datetime, ic_ht_area_id, ic_ht_area_type, \n" . " ic_ht_product_id, ic_ht_product_type, SRMS_SIC_Code, SRMS_SIIT_Code, \n" . " SRMS_SIAP_Code,SRMS_SIIT_ID \n" . " ) \n" . "SELECT '', \n" //ic_url . " '', \n" //ic_url_title . " v_siac.SIIT_InfoServeType, \n" //ic_type . " CONVERT(VARCHAR(255), v_siac.SICL_Title), \n"//ic_title . " v_siac.SICL_Memo, \n"//ic_content . " v_siac.SICL_Intro, \n"//ic_summary . " '', \n"//ic_seo_title . " '', \n"//ic_seo_description . " CONVERT(VARCHAR(255), v_siac.SICL_Keyword), \n"//ic_seo_keywords . " 1, \n"//ic_show_bread_crumbs . " v_siac.SICL_Check, \n" //ic_status . " '', \n"//ic_template . " '', \n"//ic_photo . " @SiteCode, \n" //ic_sitecode . " '', \n" //ic_recommend_tours . " '', \n"//ic_recommend_packages . " v_siac.SICL_LastDate, \n" //ic_datetime . " -1, \n"//ic_ht_area_id . " '', \n"//ic_ht_area_type . " -1, \n"//ic_ht_product_id . " '', \n"//ic_ht_product_type . " v_siac.SICL_SICCode, \n"//SRMS_SIC_Code . " v_siac.SIIA_SIITCode, \n"//SRMS_SIIT_Code . " v_siac.SIIA_SIAPCode, \n"//SRMS_SIAP_Code . " v_siac.SIIT_ID \n"//SRMS_SIIT_ID . "FROM srms.dbo.V_SRMS_INFO_New_CC v_siac \n" . " INNER JOIN srms.dbo.SRMS_ResourceAllot SNA ON v_siac.SIIT_ID = SNA.SRA_ResID \n" . "WHERE 1 = 1 \n" . " AND (SNA.SRA_Code = 'IT') \n" . " AND (SNA.SRA_SSIID = @SiteID) \n" . " AND V_SIAC.SICL_LGC = @LGC \n" . " AND V_SIAC.SIITL_LGC = @LGC \n" . " AND V_SIAC.SIAPL_LGC = @LGC \n" . " AND EXISTS ( \n" . " SELECT SRA_ResID \n" . " FROM srms.dbo.SRMS_ResourceAllot \n" . " WHERE SRA_SSIID = @SiteID \n" . " AND SRA_Code = 'I' \n" . " AND SRA_ResID = V_SIAC.SICL_ID \n" . " )"; $this->HT->query($sql, array($item['site_lgc'], $item['site_id'], $item['site_code'])); } // 2.更新服务类型 //城市 $this->HT->query("UPDATE infoContents SET ic_type ='c_reason' WHERE ic_type= 'ISTC-TopReason' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_tips' WHERE ic_type='ISTC-TravelTips' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_nightlife' WHERE ic_type='ISTC-Nightlife' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_history' WHERE ic_type='ISTC-History' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_attraction' WHERE ic_type='ISTC-Attraction' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_kids' WHERE ic_type='ISTC-Kids' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_transport' WHERE ic_type='ISTC-Transport' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_facts' WHERE ic_type='ISTC-QuickFacts' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_food' WHERE ic_type= 'ISTC-Food' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_shopping' WHERE ic_type='ISTC-Shopping' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_toptodo' WHERE ic_type='ISTC-ToptoDo' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_map' WHERE ic_type='ISTC-Map' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_travel' WHERE ic_type='ISTC-TravelInfo' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_todo' WHERE ic_type='ISTC-ToDo' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_overview' WHERE ic_type='ISTC-Overview' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_weather' WHERE ic_type='ISTC-Weather' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_about' WHERE ic_type='ISTC-About' "); $this->HT->query("UPDATE infoContents SET ic_type ='c_restaurant' WHERE ic_type='ISTC-Restaurant' "); //省份 $this->HT->query("UPDATE infoContents SET ic_type ='p_popular_city' WHERE ic_type='ISTC-PopularCity' "); //国家 $this->HT->query("UPDATE infoContents SET ic_type ='n_arts' WHERE ic_type='ISTC_CTArts' "); $this->HT->query("UPDATE infoContents SET ic_type ='n_culture' WHERE ic_type='ISTC_CTCulture' "); $this->HT->query("UPDATE infoContents SET ic_type ='n_overview' WHERE ic_type='ISTC_CTOverview' "); $this->HT->query("UPDATE infoContents SET ic_type ='n_photos' WHERE ic_type='ISTC_CTPhotos' "); $this->HT->query("UPDATE infoContents SET ic_type ='n_travel' WHERE ic_type='ISTC_CTTravel' "); $this->HT->query("UPDATE infoContents SET ic_type ='n_national' WHERE ic_type='ISTC_CTNational' "); //"3.根据信息内容建立结构数据 \n" $sql = "INSERT INTO infoStructures \n" . " ( \n" . " is_parent_id, is_path, is_level, is_sort, is_sitecode, is_datetime, is_ic_id \n" . " ) \n" . "SELECT -1, \n" //is_parent_id . " '', \n" //is_path . " -1, \n" //is_level . " -1, \n" //is_sort . " ic.ic_sitecode, \n"//is_sitecode . " GETDATE(), \n" //is_datetime . " ic.ic_id \n" //is_ic_id . "FROM infoContents ic WHERE ic.ic_sitecode='mct' "; $this->HT->query($sql); print_r($this->HT->queries); } //.....逐个查询和导入信息体 function import_xxoo() { $site_array = $this->config->item('site'); $site_arrays['mct'] = $site_array['mct'];//只导入mct $site_array = $site_arrays; foreach ($site_array as $key => $item) { //列出需要更新的记录 $sql = "SELECT is1.is_id, \n" . " ic.ic_id, \n" . " ic.ic_sitecode, \n" . " ic.ic_url, \n" . " ic.ic_url_title, \n" . " ic.ic_type, \n" . " ic.ic_ht_area_id, \n" . " ic.ic_ht_area_type, \n" . " ic.SRMS_SIC_Code, \n" . " ic.SRMS_SIIT_Code, \n" . " ic.SRMS_SIAP_Code, \n" . " is1.is_path, \n" . " sinit.SIIT_ParentID \n" . "FROM infoStructures is1 \n" . " INNER JOIN infoContents ic ON ic.ic_id = is1.is_ic_id \n" . " INNER JOIN srms.dbo.SRMS_Info_New_InfoType sinit ON sinit.SIIT_Code = ic.SRMS_SIIT_Code \n" . "WHERE ic.ic_sitecode=? and ic.ic_ht_area_type='n' \n" . "ORDER BY \n" . " sinit.SIIT_ParentID ASC, sinit.SIIT_ID ASC "; //必须从低到高排序,这样获取的父结构才会有信息 $query = $this->HT->query($sql,array($item['site_code'])); //$this->import_area($query->result(),$item['site_code']); echo 'import_area'; $this->import_level($query->result(),$item['site_code']);echo 'import_level'; //$this->import_addon($query->result(),$item['site_code']);echo 'import_addon'; //$this->import_seo($query->result(),$item['site_code']);echo 'import_seo'; //$this->import_url_type($query->result(),$item['site_code']);echo 'import_url_type'; //$this->import_url($query->result(),$item['site_code']);echo 'import_url'; //$this->import_template($query->result());echo 'import_template'; //$this->import_cht_only();echo 'import_cht_only'; //$this->import_path($query->result());echo 'import_path'; //$this->import_weather();echo 'import_weather'; //$this->import_review();echo 'import_review'; //print_r($this->HT->queries); //$this->import_test();echo 'import_test'; } } //2.导入区域信息和信息类型信息 function import_area($info_list,$site_code) { $site_array = $this->config->item('site'); $site_arrays['mct'] = $site_array['mct'];//只导入mct $site_array = $site_arrays; //更新翰特区域ID和区域类型 -begin foreach ($info_list as $item) { $area_sql = "SELECT ( \n" . " CASE \n" . " WHEN siap.SIAP_SIATID = 1 THEN 'e' \n" . " WHEN siap.SIAP_SIATID = 2 THEN 'p' \n" . " WHEN siap.SIAP_SIATID = 3 THEN 'c' \n" . " WHEN siap.SIAP_SIATID = 6 THEN 'n' \n" . " WHEN siap.SIAP_SIATID = 7 THEN 't' \n" . " ELSE CONVERT(VARCHAR(50), siap.SIAP_SIATID) \n" //未知区域,把语种数字存储起来 . " END \n" . " ) AS SIAP_Type, \n" . " siap.SIAP_OLDSN \n" . "FROM srms.dbo.SRMS_Info_AreaPlacename siap \n" . "WHERE siap.SIAP_Code = ?"; $area_query = $this->HT->query($area_sql, array($item->SRMS_SIAP_Code)); if ($area_query->num_rows() > 0) { $area_row = $area_query->row(); $SIAP_OLDSN = $area_row->SIAP_OLDSN; $SIAP_Type = $area_row->SIAP_Type; } else { $SIAP_OLDSN = -1; $SIAP_Type = ''; } //更新翰特区域ID和区域类型 -end //更新url类型和url名称 -begin $url_sql = "SELECT sinitl.SIITL_Name, \n" . " sinitl.SIITL_CustomURL \n" . "FROM srms.dbo.SRMS_Info_New_InfoTypeLGC sinitl \n" . "WHERE sinitl.SIITL_SIITCode = ? \n" . " AND sinitl.SIITL_LGC = ? \n"; $url_query = $this->HT->query($url_sql, array($item->SRMS_SIIT_Code, $site_array[$item->ic_sitecode]['site_lgc'])); if ($url_query->num_rows() > 0) { $url_row = $url_query->row(); $SIITL_Name = $url_row->SIITL_Name; $SIITL_CustomURL = $url_row->SIITL_CustomURL; } else { $SIITL_Name = ''; $SIITL_CustomURL = ''; } //更新url类型和url名称 -end //更新内容表 -begin $set_sql = "UPDATE infoContents \n" . "SET ic_ht_area_id = ?, \n" . " ic_ht_area_type = ?, \n" . " ic_url = ?, \n" . " ic_url_title = ? \n" . "WHERE ic_id = ? \n" . " AND ic_sitecode=? "; $this->HT->query($set_sql, array($SIAP_OLDSN, $SIAP_Type, $SIITL_CustomURL, $SIITL_Name, $item->ic_id,$site_code)); //更新内容表 -end } //添加区域根节点 $area_root_sql = "INSERT INTO infoContents \n" . " ( \n" . " ic_url_title, ic_type, ic_sitecode, ic_ht_area_id, ic_ht_area_type, \n" . " ic_datetime \n" . " ) \n" . "SELECT DISTINCT 'new area','root',ic.ic_sitecode, ic.ic_ht_area_id, \n" . " ic.ic_ht_area_type,GETDATE() \n" . "FROM infoContents ic \n" . "WHERE NOT EXISTS( \n" . " SELECT TOP 1 1 \n" . " FROM infoContents ic2 \n" . " WHERE ic2.ic_ht_area_id = ic.ic_ht_area_id \n" . " AND ic2.ic_ht_area_type = ic.ic_ht_area_type \n" . " AND ic2.ic_sitecode = ic.ic_sitecode \n" . " AND ic2.ic_type = 'root' \n" . " ) \n" . " AND ic.ic_sitecode=? \n" . " AND ic.ic_ht_area_id IS NOT NULL"; $this->HT->query($area_root_sql,array($site_code)); $area_root_sql = "INSERT INTO infoStructures \n" . " ( \n" . " is_parent_id, is_path, is_level, is_sort, is_sitecode, is_datetime, is_ic_id,ISRUN \n" . " ) \n" . "SELECT 0, \n"//is_parent_id . " '', \n"//is_path . " 1, \n"//is_level . " -1, \n"//is_sort . " ic.ic_sitecode, \n"//is_sitecode . " GETDATE(), \n"//is_datetime . " ic.ic_id, \n"//is_ic_id . " 1 \n"//ISRUN . "FROM infoContents ic \n" . "WHERE ic.ic_type = 'root' \n" . " AND ic.ic_sitecode=? \n" . " AND NOT EXISTS( \n" . " SELECT TOP 1 1 \n" . " FROM infoStructures is1 \n" . " WHERE is1.is_ic_id = ic.ic_id \n" . " )"; $this->HT->query($area_root_sql,array($site_code)); //更新区域主节点名称 $area_name_sql = "SELECT ic.ic_id, \n" . " ic.ic_ht_area_id, \n" . " ic.ic_sitecode, \n" . " ic.ic_ht_area_type \n" . "FROM infoContents ic \n" . "WHERE ic.ic_type = 'root' \n" . " AND ic.ic_sitecode=? "; $query_area_name = $this->HT->query($area_name_sql,array($site_code)); foreach ($query_area_name->result() as $area_item) { switch ($area_item->ic_ht_area_type) { case 'n': break; case 'c': $city_sql = "SELECT TOP 1 ci2.CII2_Name \n" . "FROM CItyInfo2 ci2 \n" . "WHERE ci2.CII2_LGC = ? \n" . " AND ci2.CII2_CII_SN = ? "; $city_query = $this->HT->query($city_sql, array($site_array[$area_item->ic_sitecode]['site_lgc'], $area_item->ic_ht_area_id)); if ($city_query->num_rows() > 0) { $city_row = $city_query->row(); $set_sql = "UPDATE infoContents SET ic_url_title = ? WHERE ic_id=? AND ic_sitecode=? "; $this->HT->query($set_sql, array($city_row->CII2_Name, $area_item->ic_id,$site_code)); } break; case 'p': $province_sql = "SELECT TOP 1 pi2.PRI2_Name \n" . "FROM PRovinceInfo pi1 \n" . " INNER JOIN PRovinceInfo2 pi2 ON pi2.PRI2_PRI_SN = pi1.PRI_SN \n" . "WHERE pi1.PRI_Country = 1 \n" . " AND pi2.PRI2_LGC = ? \n" . " AND pi1.PRI_SN = ?"; $province_query = $this->HT->query($province_sql, array($site_array[$area_item->ic_sitecode]['site_lgc'], $area_item->ic_ht_area_id)); if ($province_query->num_rows() > 0) { $province_row = $province_query->row(); $set_sql = "UPDATE infoContents SET ic_url_title = ? WHERE ic_id=? AND ic_sitecode=? "; $this->HT->query($set_sql, array($province_row->PRI2_Name, $area_item->ic_id,$site_code)); } break; default: break; } } } //3.更新信息内容的区域、url名称、部分自定义URL(在信息语种表中的)、父级结构等。这个过程执行时间很长,请修改\system\core\CodeIgniter.php 105行,把300秒改为0,即不限制 function import_level($info_list,$site_code) { //更新层次结构的同时需要先完成区域设置 foreach ($info_list as $item) { $parent_sql = "SELECT is1.is_id, \n" . " is1.is_path, \n" . " is1.is_level \n" . "FROM infoStructures is1 \n" . " INNER JOIN infoContents ic ON ic.ic_id = is1.is_ic_id \n" . " INNER JOIN srms.dbo.SRMS_Info_New_InfoType sinit ON sinit.SIIT_Code = ic.SRMS_SIIT_Code \n" . "WHERE sinit.SIIT_ID = ? \n" . " AND ic.ic_sitecode = ? \n" . " AND ic.ic_ht_area_id = ? \n" . " AND ic.ic_ht_area_type = ?"; $parent_query = $this->HT->query($parent_sql, array($item->SIIT_ParentID, $site_code, $item->ic_ht_area_id, $item->ic_ht_area_type)); if ($parent_query->num_rows() > 0) { $parent_row = $parent_query->row(); $set_sql = "UPDATE infoStructures \n" . "SET is_parent_id = ?, " . " is_path = ?, " . " is_level = ?, " . " ISRUN =1 " . "WHERE is_id = ? \n" . "AND is_sitecode= ? "; $this->HT->query($set_sql, array($parent_row->is_id, $parent_row->is_path . $parent_row->is_id . ',', $parent_row->is_level + 1, $item->is_id,$site_code)); } else {//找不到父节点就链接到当前区域的根节点 //查询区域根节点 $area_root_sql = "SELECT is1.is_id, \n" . " is1.is_path, \n" . " is1.is_level \n" . "FROM infoStructures is1 \n" . " INNER JOIN infoContents ic ON ic.ic_id = is1.is_ic_id \n" . "WHERE ic.ic_type = 'root' \n" . " AND ic.ic_sitecode = ? \n" . " AND ic.ic_ht_area_id = ? \n" . " AND ic.ic_ht_area_type = ?"; $area_root_query = $this->HT->query($area_root_sql, array($site_code, $item->ic_ht_area_id, $item->ic_ht_area_type)); if ($area_root_query->num_rows() > 0) { $area_root_row = $area_root_query->row(); $my_parent_id = $area_root_row->is_id; $my_path = $area_root_row->is_path . $my_parent_id . ','; $my_level = $area_root_row->is_level + 1; $set_sql = "UPDATE infoStructures \n" . "SET is_parent_id = ? ," . " is_path = ?, " . " is_level = ? , " . " ISRUN =1 " . "WHERE is_id = ? \n" . "AND is_sitecode= ? "; $this->HT->query($set_sql, array($my_parent_id, $my_path, $my_level, $item->is_id,$site_code)); } } } } //4.导入额外数据,图片 function import_addon($info_list,$site_code) { $site_array = $this->config->item('site'); //导入图片 foreach ($info_list as $item) { $pic_sql = "SELECT TOP 1 (pi1.PII_Location + pi1.PII_FileName) AS pic_path \n" . "FROM SRMS.dbo.SRMS_Info_Add_ons siao \n" . " INNER JOIN PictureInfo pi1 ON pi1.PII_SN = siao.SIAO_SonID \n" . " INNER JOIN srms.dbo.SRMS_Info_New_ContentLGC sincl ON sincl.SICL_ID = \n" . " siao.SIAO_FatherID \n" . "WHERE siao.SIAO_FatherType = 2 \n" . " AND siao.SIAO_SonType = 1 \n" . " AND sincl.SICL_LGC = ? \n" . " AND sincl.SICL_SICCode = ? "; $pic_query = $this->HT->query($pic_sql, array($site_array[$item->ic_sitecode]['site_lgc'], $item->SRMS_SIC_Code)); if ($pic_query->num_rows() > 0) { $pic_row = $pic_query->row(); $set_sql = "UPDATE infoContents \n" . "SET ic_photo = ? \n" . "WHERE ic_id = ? \n" . "AND ic_sitecode= ? "; $this->HT->query($set_sql, array($pic_row->pic_path, $item->ic_id,$site_code)); } } //导入绑定的景点 $land_sql = "SELECT srbi.SRBI_ResID, \n" . " srbi.SRBI_SRBID, \n" . " srbi.SRBI_ResType \n" . "FROM srms.dbo.SRMS_ResourceBind_Info srbi \n" . "WHERE srbi.SRBI_ResType = '7'"; $land_query = $this->HT->query($land_sql); foreach ($land_query->result() as $land_item) { $land_it_sql = "SELECT TOP 1 srbi.SRBI_ResID, \n" . " srbi.SRBI_SRBID, \n" . " srbi.SRBI_ResType \n" . "FROM srms.dbo.SRMS_ResourceBind_Info srbi \n" . "WHERE srbi.SRBI_ResType = 'IT' \n" . " AND srbi.SRBI_SRBID = ? \n" . " ORDER BY srbi.SRBI_ID DESC "; $land_it_query = $this->HT->query($land_it_sql, array($land_item->SRBI_SRBID)); if ($land_it_query->num_rows() > 0) { $land_it_row = $land_it_query->row(); $set_sql = "UPDATE infoContents \n" . "SET ic_ht_product_id = ?, \n" . " ic_ht_product_type = 't' \n" . "WHERE SRMS_SIIT_ID = ? \n" . "AND ic_sitecode=? "; $this->HT->query($set_sql, array($land_item->SRBI_ResID, $land_it_row->SRBI_ResID,$site_code)); } } } //5.导入自定义seo信息 function import_seo($info_list,$site_code) { $site_array = $this->config->item('site'); //导入自定义信息seo标题 $seo_title_sql = "SELECT ssrci.SSRC_Value, \n" . " ssrci.SSRC_SSIID, \n" . " sincl.SICL_SICCode \n" . "FROM srms.dbo.SRMS_SiteResource_CustomInfo ssrci \n" . " INNER JOIN srms.dbo.SRMS_SiteCustomInfoType sscit ON sscit.SSCT_TypeCode = \n" . " ssrci.SSRC_TypeID \n" . " INNER JOIN srms.dbo.SRMS_Info_New_ContentLGC sincl ON sincl.SICL_ID = \n" . " ssrci.SSRC_ResID \n" . "WHERE ssrci.SSRC_TypeID = 'k-title' \n" . " AND ssrci.SSRC_ResType = 'I' \n " . " AND ssrci.SSRC_SSIID=? "; $seo_title_query = $this->HT->query($seo_title_sql,array($site_array[$site_code]['site_id'])); foreach ($seo_title_query->result() as $title_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_seo_title = ? \n" . "WHERE SRMS_SIC_Code = ? \n" . " AND ic_sitecode = ? "; $this->HT->query($set_sql, array(substr($title_item->SSRC_Value, 0, 255), $title_item->SICL_SICCode, $site_code)); } //导入自定义信息seo关键字 $seo_keywords_sql = "SELECT ssrci.SSRC_Value, \n" . " ssrci.SSRC_SSIID, \n" . " sincl.SICL_SICCode \n" . "FROM srms.dbo.SRMS_SiteResource_CustomInfo ssrci \n" . " INNER JOIN srms.dbo.SRMS_SiteCustomInfoType sscit ON sscit.SSCT_TypeCode = \n" . " ssrci.SSRC_TypeID \n" . " INNER JOIN srms.dbo.SRMS_Info_New_ContentLGC sincl ON sincl.SICL_ID = \n" . " ssrci.SSRC_ResID \n" . "WHERE ssrci.SSRC_TypeID = 'k-keywords' \n" . " AND ssrci.SSRC_ResType = 'I' \n" . " AND ssrci.SSRC_SSIID=? "; $seo_keywords_query = $this->HT->query($seo_keywords_sql,array($site_array[$site_code]['site_id'])); foreach ($seo_keywords_query->result() as $keywords_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_seo_keywords = ? \n" . "WHERE SRMS_SIC_Code = ? \n" . " AND ic_sitecode = ? "; $this->HT->query($set_sql, array(substr($keywords_item->SSRC_Value, 0, 255), $keywords_item->SICL_SICCode, $site_code)); } //导入自定义信息seo描述 $seo_description_sql = "SELECT ssrci.SSRC_Value, \n" . " ssrci.SSRC_SSIID, \n" . " sincl.SICL_SICCode \n" . "FROM srms.dbo.SRMS_SiteResource_CustomInfo ssrci \n" . " INNER JOIN srms.dbo.SRMS_SiteCustomInfoType sscit ON sscit.SSCT_TypeCode = \n" . " ssrci.SSRC_TypeID \n" . " INNER JOIN srms.dbo.SRMS_Info_New_ContentLGC sincl ON sincl.SICL_ID = \n" . " ssrci.SSRC_ResID \n" . "WHERE ssrci.SSRC_TypeID = 'k-description' \n" . " AND ssrci.SSRC_ResType = 'I' \n" . " AND ssrci.SSRC_SSIID=? "; $seo_description_query = $this->HT->query($seo_description_sql,array($site_array[$site_code]['site_id'])); foreach ($seo_description_query->result() as $description_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_seo_description = ? \n" . "WHERE SRMS_SIC_Code = ? \n" . " AND ic_sitecode = ? "; $this->HT->query($set_sql, array(substr($description_item->SSRC_Value, 0, 255), $description_item->SICL_SICCode, $site_code)); } //导入自定义信息类型seo标题 $seo_title_sql = "SELECT ssrci.SSRC_Value, \n" . " ssrci.SSRC_SSIID, \n" . " sinit.SIIT_Code \n" . "FROM srms.dbo.SRMS_SiteResource_CustomInfo ssrci \n" . " INNER JOIN srms.dbo.SRMS_SiteCustomInfoType sscit ON sscit.SSCT_TypeCode = \n" . " ssrci.SSRC_TypeID \n" . " INNER JOIN srms.dbo.SRMS_Info_New_InfoType sinit ON sinit.SIIT_ID = ssrci.SSRC_ResID \n" . "WHERE ssrci.SSRC_TypeID = 'k-title' \n" . " AND ssrci.SSRC_ResType = 'IT' \n" . " AND ssrci.SSRC_SSCPID IN ('i-china-culture-info','i-china-guide-info') \n" . " AND ssrci.SSRC_SSIID=? "; $seo_title_query = $this->HT->query($seo_title_sql,array($site_array[$site_code]['site_id'])); foreach ($seo_title_query->result() as $title_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_seo_title = ? \n" . "WHERE SRMS_SIIT_Code = ? \n" . " AND ic_sitecode = ? "; $this->HT->query($set_sql, array(substr($title_item->SSRC_Value, 0, 255), $title_item->SIIT_Code, $site_code)); } //导入自定义信息类型seo关键字 $seo_keywords_sql = "SELECT ssrci.SSRC_Value, \n" . " ssrci.SSRC_SSIID, \n" . " sinit.SIIT_Code \n" . "FROM srms.dbo.SRMS_SiteResource_CustomInfo ssrci \n" . " INNER JOIN srms.dbo.SRMS_SiteCustomInfoType sscit ON sscit.SSCT_TypeCode = \n" . " ssrci.SSRC_TypeID \n" . " INNER JOIN srms.dbo.SRMS_Info_New_InfoType sinit ON sinit.SIIT_ID = ssrci.SSRC_ResID \n" . "WHERE ssrci.SSRC_TypeID = 'k-keywords' \n" . " AND ssrci.SSRC_ResType = 'IT' \n" . " AND ssrci.SSRC_SSCPID IN ('i-china-culture-info','i-china-guide-info') \n" . " AND ssrci.SSRC_SSIID=? "; $seo_keywords_query = $this->HT->query($seo_keywords_sql,array($site_array[$site_code]['site_id'])); foreach ($seo_keywords_query->result() as $keywords_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_seo_keywords = ? \n" . "WHERE SRMS_SIIT_Code = ? \n" . " AND ic_sitecode = ? "; $this->HT->query($set_sql, array(substr($keywords_item->SSRC_Value, 0, 255), $keywords_item->SIIT_Code, $site_code)); } //导入自定义信息类型seo描述 $seo_description_sql = "SELECT ssrci.SSRC_Value, \n" . " ssrci.SSRC_SSIID, \n" . " sinit.SIIT_Code \n" . "FROM srms.dbo.SRMS_SiteResource_CustomInfo ssrci \n" . " INNER JOIN srms.dbo.SRMS_SiteCustomInfoType sscit ON sscit.SSCT_TypeCode = \n" . " ssrci.SSRC_TypeID \n" . " INNER JOIN srms.dbo.SRMS_Info_New_InfoType sinit ON sinit.SIIT_ID = ssrci.SSRC_ResID \n" . "WHERE ssrci.SSRC_TypeID = 'k-description' \n" . " AND ssrci.SSRC_ResType = 'IT' \n" . " AND ssrci.SSRC_SSCPID IN ('i-china-culture-info','i-china-guide-info') \n" . " AND ssrci.SSRC_SSIID=? "; $seo_description_query = $this->HT->query($seo_description_sql,array($site_array[$site_code]['site_id'])); foreach ($seo_description_query->result() as $description_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_seo_description = ? \n" . "WHERE SRMS_SIIT_Code = ? \n" . " AND ic_sitecode = ? "; $this->HT->query($set_sql, array(substr($description_item->SSRC_Value, 0, 255), $description_item->SIIT_Code, $site_code)); } //导入自定义城市seo标题 $seo_title_sql = "SELECT siap.SIAP_OLDSN, \n" . " ssrci.SSRC_SSIID, \n" . " ssrci.SSRC_Value \n" . "FROM srms.dbo.SRMS_SiteResource_CustomInfo ssrci \n" . " INNER JOIN srms.dbo.SRMS_SiteCustomInfoType sscit ON sscit.SSCT_TypeCode = \n" . " ssrci.SSRC_TypeID \n" . " INNER JOIN srms.dbo.SRMS_Info_AreaPlacename siap ON siap.SIAP_ID = ssrci.SSRC_ResID \n" . "WHERE ssrci.SSRC_TypeID = 'k-title' \n" . " AND ssrci.SSRC_ResType = 'K' \n " . " AND ssrci.SSRC_SSCPID = 'i-city-index' \n" . " AND ssrci.SSRC_SSIID=? "; $seo_k_title_query = $this->HT->query($seo_title_sql,array($site_array[$site_code]['site_id'])); foreach ($seo_k_title_query->result() as $title_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_seo_title = ? \n" . "WHERE ic_ht_area_type = 'c' \n" . " AND ic_type = 'root' \n" . " AND ic_ht_area_id = ? \n" . " AND ic_sitecode = ? "; $this->HT->query($set_sql, array(substr($title_item->SSRC_Value, 0, 255), $title_item->SIAP_OLDSN, $site_code)); } //导入自定义城市seo关键字 $seo_keywords_sql = "SELECT siap.SIAP_OLDSN, \n" . " ssrci.SSRC_SSIID, \n" . " ssrci.SSRC_Value \n" . "FROM srms.dbo.SRMS_SiteResource_CustomInfo ssrci \n" . " INNER JOIN srms.dbo.SRMS_SiteCustomInfoType sscit ON sscit.SSCT_TypeCode = \n" . " ssrci.SSRC_TypeID \n" . " INNER JOIN srms.dbo.SRMS_Info_AreaPlacename siap ON siap.SIAP_ID = ssrci.SSRC_ResID \n" . "WHERE ssrci.SSRC_TypeID = 'k-keywords' \n" . " AND ssrci.SSRC_ResType = 'K' \n " . " AND ssrci.SSRC_SSCPID = 'i-city-index' \n" . " AND ssrci.SSRC_SSIID=? "; $seo_k_keywords_query = $this->HT->query($seo_keywords_sql,array($site_array[$site_code]['site_id'])); foreach ($seo_k_keywords_query->result() as $keywords_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_seo_keywords = ? \n" . "WHERE ic_ht_area_type = 'c' \n" . " AND ic_type = 'root' \n" . " AND ic_ht_area_id = ? \n" . " AND ic_sitecode = ? "; $this->HT->query($set_sql, array(substr($keywords_item->SSRC_Value, 0, 255), $keywords_item->SIAP_OLDSN, $site_code)); } //导入自定义城市seo描述 $seo_description_sql = "SELECT siap.SIAP_OLDSN, \n" . " ssrci.SSRC_SSIID, \n" . " ssrci.SSRC_Value \n" . "FROM srms.dbo.SRMS_SiteResource_CustomInfo ssrci \n" . " INNER JOIN srms.dbo.SRMS_SiteCustomInfoType sscit ON sscit.SSCT_TypeCode = \n" . " ssrci.SSRC_TypeID \n" . " INNER JOIN srms.dbo.SRMS_Info_AreaPlacename siap ON siap.SIAP_ID = ssrci.SSRC_ResID \n" . "WHERE ssrci.SSRC_TypeID = 'k-description' \n" . " AND ssrci.SSRC_ResType = 'K' \n " . " AND ssrci.SSRC_SSCPID = 'i-city-index'\n" . " AND ssrci.SSRC_SSIID=? "; $seo_k_description_query = $this->HT->query($seo_description_sql,array($site_array[$site_code]['site_id'])); foreach ($seo_k_description_query->result() as $description_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_seo_description = ? \n" . "WHERE ic_ht_area_type = 'c' \n" . " AND ic_type = 'root' \n" . " AND ic_ht_area_id = ? \n" . " AND ic_sitecode = ? "; $this->HT->query($set_sql, array(substr($description_item->SSRC_Value, 0, 255), $description_item->SIAP_OLDSN, $site_code)); } //导入自定义省份seo标题 $seo_title_sql = "SELECT siap.SIAP_OLDSN, \n" . " ssrci.SSRC_SSIID, \n" . " ssrci.SSRC_Value \n" . "FROM srms.dbo.SRMS_SiteResource_CustomInfo ssrci \n" . " INNER JOIN srms.dbo.SRMS_SiteCustomInfoType sscit ON sscit.SSCT_TypeCode = \n" . " ssrci.SSRC_TypeID \n" . " INNER JOIN srms.dbo.SRMS_Info_AreaPlacename siap ON siap.SIAP_ID = ssrci.SSRC_ResID \n" . "WHERE ssrci.SSRC_TypeID = 'k-title' \n" . " AND ssrci.SSRC_ResType = 'P' \n " . " AND ssrci.SSRC_SSCPID = 'i-area-index'\n" . " AND ssrci.SSRC_SSIID=? "; $seo_p_title_query = $this->HT->query($seo_title_sql,array($site_array[$site_code]['site_id'])); foreach ($seo_p_title_query->result() as $title_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_seo_title = ? \n" . "WHERE ic_ht_area_type = 'p' \n" . " AND ic_type = 'root' \n" . " AND ic_ht_area_id = ? \n" . " AND ic_sitecode = ? "; $this->HT->query($set_sql, array(substr($title_item->SSRC_Value, 0, 255), $title_item->SIAP_OLDSN, $site_code)); } //导入自定义省份seo关键字 $seo_keywords_sql = "SELECT siap.SIAP_OLDSN, \n" . " ssrci.SSRC_SSIID, \n" . " ssrci.SSRC_Value \n" . "FROM srms.dbo.SRMS_SiteResource_CustomInfo ssrci \n" . " INNER JOIN srms.dbo.SRMS_SiteCustomInfoType sscit ON sscit.SSCT_TypeCode = \n" . " ssrci.SSRC_TypeID \n" . " INNER JOIN srms.dbo.SRMS_Info_AreaPlacename siap ON siap.SIAP_ID = ssrci.SSRC_ResID \n" . "WHERE ssrci.SSRC_TypeID = 'k-keywords' \n" . " AND ssrci.SSRC_ResType = 'P' \n " . " AND ssrci.SSRC_SSCPID = 'i-area-index'\n" . " AND ssrci.SSRC_SSIID=? "; $seo_p_keywords_query = $this->HT->query($seo_keywords_sql,array($site_array[$site_code]['site_id'])); foreach ($seo_p_keywords_query->result() as $keywords_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_seo_keywords = ? \n" . "WHERE ic_ht_area_type = 'p' \n" . " AND ic_type = 'root' \n" . " AND ic_ht_area_id = ? \n" . " AND ic_sitecode = ? "; $this->HT->query($set_sql, array(substr($keywords_item->SSRC_Value, 0, 255), $keywords_item->SIAP_OLDSN, $site_code)); } //导入自定义省份seo描述 $seo_description_sql = "SELECT siap.SIAP_OLDSN, \n" . " ssrci.SSRC_SSIID, \n" . " ssrci.SSRC_Value \n" . "FROM srms.dbo.SRMS_SiteResource_CustomInfo ssrci \n" . " INNER JOIN srms.dbo.SRMS_SiteCustomInfoType sscit ON sscit.SSCT_TypeCode = \n" . " ssrci.SSRC_TypeID \n" . " INNER JOIN srms.dbo.SRMS_Info_AreaPlacename siap ON siap.SIAP_ID = ssrci.SSRC_ResID \n" . "WHERE ssrci.SSRC_TypeID = 'k-description' \n" . " AND ssrci.SSRC_ResType = 'P' \n " . " AND ssrci.SSRC_SSCPID = 'i-area-index'\n" . " AND ssrci.SSRC_SSIID=? "; $seo_p_description_query = $this->HT->query($seo_description_sql,array($site_array[$site_code]['site_id'])); foreach ($seo_p_description_query->result() as $description_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_seo_description = ? \n" . "WHERE ic_ht_area_type = 'p' \n" . " AND ic_type = 'root' \n" . " AND ic_ht_area_id = ? \n" . " AND ic_sitecode = ? "; $this->HT->query($set_sql, array(substr($description_item->SSRC_Value, 0, 255), $description_item->SIAP_OLDSN, $site_code)); } } //5.5 批量设置临时信息类型-景点详细页 function import_url_type($info_list,$site_code) { $set_all_sql = "UPDATE infoContents \n" . "SET ic_type = 'c_attraction_detail' \n" . "WHERE ic_sitecode=? \n" . "AND ic_id IN (SELECT ic.ic_id \n" . " FROM infoContents ic \n" . " INNER JOIN infoStructures is1 ON is1.is_ic_id = ic.ic_id \n" . " AND is1.is_sitecode = ic.ic_sitecode \n" . " WHERE is1.is_parent_id IN (SELECT is1.is_id \n" . " FROM infoContents ic \n" . " INNER JOIN infoStructures \n" . " is1 ON is1.is_ic_id = \n" . " ic.ic_id \n" . " AND is1.is_sitecode = \n" . " ic.ic_sitecode \n" . " WHERE ic.ic_type = 'c_attraction'))"; $this->HT->query($set_all_sql,array($site_code)); //批量设置临时信息类型-地图详细页 $set_all_sql = "UPDATE infoContents \n" . "SET ic_type = 'c_map_detail' \n" . "WHERE ic_sitecode=? \n" . "AND ic_id IN (SELECT ic.ic_id \n" . " FROM infoContents ic \n" . " INNER JOIN infoStructures is1 ON is1.is_ic_id = ic.ic_id \n" . " AND is1.is_sitecode = ic.ic_sitecode \n" . " WHERE is1.is_parent_id IN (SELECT is1.is_id \n" . " FROM infoContents ic \n" . " INNER JOIN infoStructures \n" . " is1 ON is1.is_ic_id = \n" . " ic.ic_id \n" . " AND is1.is_sitecode = \n" . " ic.ic_sitecode \n" . " WHERE ic.ic_type = 'c_map'))"; $this->HT->query($set_all_sql,array($site_code)); //批量设置临时信息类型-餐饮详细页 $set_all_sql = "UPDATE infoContents \n" . "SET ic_type = 'c_restaurant_detail' \n" . "WHERE ic_sitecode=? \n" . "AND ic_id IN (SELECT ic.ic_id \n" . " FROM infoContents ic \n" . " INNER JOIN infoStructures is1 ON is1.is_ic_id = ic.ic_id \n" . " AND is1.is_sitecode = ic.ic_sitecode \n" . " WHERE is1.is_parent_id IN (SELECT is1.is_id \n" . " FROM infoContents ic \n" . " INNER JOIN infoStructures \n" . " is1 ON is1.is_ic_id = \n" . " ic.ic_id \n" . " AND is1.is_sitecode = \n" . " ic.ic_sitecode \n" . " WHERE ic.ic_type = 'c_restaurant'))"; $this->HT->query($set_all_sql,array($site_code)); //批量设置临时信息类型-食物详细页 $set_all_sql = "UPDATE infoContents \n" . "SET ic_type = 'c_food_detail' \n" . "WHERE ic_sitecode=? \n" . "AND ic_id IN (SELECT ic.ic_id \n" . " FROM infoContents ic \n" . " INNER JOIN infoStructures is1 ON is1.is_ic_id = ic.ic_id \n" . " AND is1.is_sitecode = ic.ic_sitecode \n" . " WHERE is1.is_parent_id IN (SELECT is1.is_id \n" . " FROM infoContents ic \n" . " INNER JOIN infoStructures \n" . " is1 ON is1.is_ic_id = \n" . " ic.ic_id \n" . " AND is1.is_sitecode = \n" . " ic.ic_sitecode \n" . " WHERE ic.ic_type = 'c_food'))"; $this->HT->query($set_all_sql,array($site_code)); } //6.导入URL,自定义url和程序拼接的url function import_url($info_list,$site_code) { $site_array = $this->config->item('site'); foreach ($info_list as $item) { $url = ''; switch ($item->ic_ht_area_type)// 区域类型 { case 'n'://国家 switch ($item->ic_sitecode)//站点 { case 'cht': $url = "/travelguide/culture/[INFO_URL_NAME].htm"; break; case 'gm': $url="/china-info/[INFO_URL_NAME].htm"; break; case 'jp': $url="/travelguide/culture/[INFO_URL_NAME].htm"; break; case 'vc': $url="/guidedevoyage/culture/[INFO_URL_NAME].htm"; break; case 'vac': $url="/guia-china/cultura/[INFO_URL_NAME].htm"; break; case 'ru': $url="/travelguide/culture/[INFO_URL_NAME].htm"; break; case 'it': $url="/guidaturistica/cultura/[INFO_URL_NAME].htm"; break; case 'mct': $url="/culture-guide/[INFO_URL_NAME]/"; break; default: $url = ''; break; } break; case 'p'://省份 switch ($item->ic_type)//信息类型 { case 'root'://省份主页 switch ($item->ic_sitecode) { case 'cht': $url = "/[PROVINCE_NAME]/"; break; case 'gm': $url="/[PROVINCE_NAME]/"; break; case 'jp': $url="/[PROVINCE_NAME]/"; break; case 'vc': $url="/[PROVINCE_NAME]/"; break; case 'vac': $url="/guia-[PROVINCE_NAME]/"; break; case 'ru': $url="/[PROVINCE_NAME]/"; break; case 'it': $url="/[PROVINCE_NAME]/"; break; default: $url = ''; break; } break; default://通用详细页 switch ($item->ic_sitecode) { case 'cht': $url = "/[PROVINCE_NAME]/[INFO_URL_NAME].htm"; break; case 'gm': $url="/[PROVINCE_NAME]/[INFO_URL_NAME].htm"; break; case 'jp': $url="/[PROVINCE_NAME]/[INFO_URL_NAME].htm"; break; case 'vc': $url="/[PROVINCE_NAME]/[INFO_URL_NAME].htm"; break; case 'vac': $url="/guia-[PROVINCE_NAME]/[INFO_URL_NAME].htm"; break; case 'ru': $url="/[PROVINCE_NAME]/[INFO_URL_NAME].htm"; break; case 'it': $url="/[PROVINCE_NAME]/[INFO_URL_NAME].htm"; break; default: $url = ''; break; } break; } if ($url != '') { $province_sql = "SELECT TOP 1 pi2.PRI2_Name \n" . "FROM PRovinceInfo pi1 \n" . " INNER JOIN PRovinceInfo2 pi2 ON pi2.PRI2_PRI_SN = pi1.PRI_SN \n" . "WHERE pi1.PRI_Country = 1 \n" . " AND pi2.PRI2_LGC = ? \n" . " AND pi1.PRI_SN = ?"; $province_lgc=$site_array[$item->ic_sitecode]['site_lgc']; //日语和俄语使用英文语种url if($item->ic_sitecode=="jp" || $item->ic_sitecode=="ru") { $province_lgc=1; } $province_query = $this->HT->query($province_sql, array($province_lgc, $item->ic_ht_area_id)); if ($province_query->num_rows() > 0) { $province_row = $province_query->row(); $url = str_replace('[PROVINCE_NAME]', trim($province_row->PRI2_Name), $url); } } break; case 'c'://城市 switch ($item->ic_type)//信息类型 { case 'root'://首页 switch ($item->ic_sitecode)//站点 { case 'cht': $url = "/[CITY_NAME]/"; break; case 'gm': $url="/[CITY_NAME]/"; break; case 'jp': $url="/[CITY_NAME]/"; break; case 'vc': $url="/[CITY_NAME]-voyage/"; break; case 'vac': $url="/guia-[CITY_NAME]/"; break; case 'ru': $url="/[CITY_NAME]/"; break; case 'it': $url="/[CITY_NAME]/"; break; case 'mct': $url="/[CITY_NAME]-travel/"; break; default: $url = ''; break; } break; case 'c_overview'://介绍overview travel-guide switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/[CITY_NAME]-travel-guide.htm"; break; case 'gm': $url="/[CITY_NAME]/[CITY_NAME]-ueberblick/"; break; case 'jp': $url="/[CITY_NAME]/overview.htm"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-voyage-guide.htm"; break; case 'vac': $url="/guia-[CITY_NAME]/resumen/"; break; case 'ru': $url="/[CITY_NAME]/overview.htm"; break; case 'it': $url="/[CITY_NAME]/[CITY_NAME]-guida-turistica.htm"; break; case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-overview/"; break; default: $url = ''; break; } break; case 'c_map'://地图列表 switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/map.htm"; break; case 'gm': $url="/[CITY_NAME]/[CITY_NAME]-landkarte/"; break; case 'jp': $url="/[CITY_NAME]/map.htm"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-carte.htm"; break; case 'vac': $url="/guia-[CITY_NAME]/mapa.htm"; break; case 'ru': $url="/[CITY_NAME]/map.htm"; break; case 'it': $url="/[CITY_NAME]/mappa.htm"; break; case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-map/"; break; default: $url = ''; break; } break; case 'c_map_detail': //地图详细页 switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/map/[INFO_URL_NAME].htm"; break; case 'gm': $url="/[CITY_NAME]/[CITY_NAME]-landkarte/[INFO_URL_NAME].htm"; break; case 'jp': $url="/[CITY_NAME]/map/[INFO_URL_NAME].htm"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-carte/[INFO_URL_NAME].htm"; break; case 'vac': $url="/guia-[CITY_NAME]/mapa/[INFO_URL_NAME].htm"; break; case 'ru': $url="/[CITY_NAME]/map/[INFO_URL_NAME].htm"; break; case 'it': $url="/[CITY_NAME]/mappa/[INFO_URL_NAME].htm"; break; default: $url = ''; break; } break; case 'c_attraction'://景点列表 switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/attraction/"; break; case 'gm': $url="/[CITY_NAME]/[CITY_NAME]-sehenswuerdigkeiten/"; break; case 'jp': $url="/[CITY_NAME]/attraction/"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-attractions/"; break; case 'vac': $url="/guia-[CITY_NAME]/atracciones/"; break; case 'ru': $url="/[CITY_NAME]/attraction/"; break; case 'it': $url="/[CITY_NAME]/attrazione/"; break; case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-attractions/"; break; default: $url = ''; break; } break; case 'c_attraction_detail'://景点详细页 switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/attraction/[INFO_URL_NAME].htm"; break; case 'gm': $url="/[CITY_NAME]/[CITY_NAME]-sehenswuerdigkeiten/[INFO_URL_NAME].htm"; break; case 'jp': $url="/[CITY_NAME]/attraction/[INFO_URL_NAME].htm"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-attractions/[INFO_URL_NAME].htm"; break; case 'vac': $url="/guia-[CITY_NAME]/atracciones/[INFO_URL_NAME].htm"; break; case 'ru': $url="/[CITY_NAME]/attraction/[INFO_URL_NAME].htm"; break; case 'it': $url="/[CITY_NAME]/attrazione/[INFO_URL_NAME].htm"; break; case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-attractions/[INFO_URL_NAME]/"; break; default: $url = ''; break; } break; case 'c_weather'://天气 switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/weather.htm"; break; case 'gm': $url="/[CITY_NAME]/[CITY_NAME]-wetter/"; break; case 'jp': $url="/[CITY_NAME]/weather.htm"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-climat/"; break; case 'vac': $url="/guia-[CITY_NAME]/clima.htm"; break; case 'ru': $url="/[CITY_NAME]/weather.htm"; break; case 'it': $url="/[CITY_NAME]/clima.htm"; break; case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-weather/"; break; default: $url = ''; break; } break; case '天气-月份': switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/weather/[INFO_URL_NAME].htm"; break; case 'gm': $url="/[CITY_NAME]/[CITY_NAME]-wetter/[INFO_URL_NAME].htm"; break; case 'jp': $url="/[CITY_NAME]/weather/[INFO_URL_NAME].htm"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-climat/[INFO_URL_NAME].htm"; break; case 'vac': $url="/guia-[CITY_NAME]/clima/[INFO_URL_NAME].htm"; break; case 'ru': $url="/[CITY_NAME]/weather/[INFO_URL_NAME].htm"; break; case 'it': $url="/[CITY_NAME]/clima/[INFO_URL_NAME].htm"; break; case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-weather/[INFO_URL_NAME]/"; break; default: $url = ''; break; } break; case 'c_restaurant'://餐饮列表 switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/restaurants.htm"; break; case 'gm': $url="/[CITY_NAME]/[CITY_NAME]-restaurant/"; break; case 'jp': $url="/[CITY_NAME]/restaurant.htm"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-restaurant/"; break; case 'vac': $url="/guia-[CITY_NAME]/restaurante/"; break; case 'ru': $url="/[CITY_NAME]/restaurants.htm"; break; case 'it': $url="/[CITY_NAME]/ristorante.htm"; break; case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-restaurants/"; break; default: $url = ''; break; } break; case 'c_restaurant_detail'://餐饮详细页 switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/restaurants/[INFO_URL_NAME].htm"; break; case 'gm': $url="/[CITY_NAME]/[CITY_NAME]-restaurant/[INFO_URL_NAME].htm"; break; case 'jp': $url="/[CITY_NAME]/restaurant/[INFO_URL_NAME].htm"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-restaurant/[INFO_URL_NAME].htm"; break; case 'vac': $url="/guia-[CITY_NAME]/restaurante/[INFO_URL_NAME].htm"; break; case 'ru': $url="/[CITY_NAME]/restaurants/[INFO_URL_NAME].htm"; break; case 'it': $url="/[CITY_NAME]/ristorante/[INFO_URL_NAME].htm"; break; case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-restaurants/[INFO_URL_NAME]/"; break; default: $url = ''; break; } break; case 'c_food'://食物列表 switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/food-restaurant.htm"; break; case 'gm': $url="/[CITY_NAME]/[CITY_NAME]-essen-trinken/"; break; case 'jp': $url="/[CITY_NAME]/food.htm"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-aliment/"; break; case 'vac': $url="/guia-[CITY_NAME]/alimentos-y-restaurantes.htm"; break; case 'ru': $url="/[CITY_NAME]/food-restaurant.htm"; break; case 'it': $url="/[CITY_NAME]/cibo.htm"; break; case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-food/"; break; default: $url = ''; break; } break; case 'c_food_detail'://食物详细页 switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/food/[INFO_URL_NAME].htm"; break; case 'gm': $url="/[CITY_NAME]/[CITY_NAME]-essen-trinken/[INFO_URL_NAME].htm"; break; case 'jp': $url="/[CITY_NAME]/food/[INFO_URL_NAME].htm"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-aliment/[INFO_URL_NAME].htm"; break; case 'vac': $url="/guia-[CITY_NAME]/alimentos-y-restaurantes/[INFO_URL_NAME].htm"; break; case 'ru': $url="/[CITY_NAME]/food-restaurant/[INFO_URL_NAME].htm"; break; case 'it': $url="/[CITY_NAME]/cibo/[INFO_URL_NAME].htm"; break; case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-food/[INFO_URL_NAME]/"; break; default: $url = ''; break; } break; case 'c_transport'://交通 switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/transportation.htm"; break; case 'gm': $url="/[CITY_NAME]/[CITY_NAME]-transport/"; break; case 'jp': $url="/[CITY_NAME]/transportation.htm"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-moyen-de-transport/"; break; case 'vac': $url="/guia-[CITY_NAME]/transporte.htm"; break; case 'ru': $url="/[CITY_NAME]/transportation.htm"; break; case 'it': $url="/[CITY_NAME]/trasporto.htm"; break; case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-transportation/"; break; default: $url = ''; break; } break; case 'c_nightlife'://夜生活 switch ($item->ic_sitecode) { case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-nightlife/"; break; default: $url = ''; break; } break; case 'n_photos'://相册列表 switch ($item->ic_sitecode) { case 'mct': $url="/[CITY_NAME]-travel/[CITY_NAME]-photos/"; break; default: $url = ''; break; } break; default://通用详细页 switch ($item->ic_sitecode) { case 'cht': $url = "/[CITY_NAME]/[INFO_URL_NAME].htm"; break; case 'gm': $url="/[CITY_NAME]/[INFO_URL_NAME].htm"; break; case 'jp': $url="/[CITY_NAME]/[INFO_URL_NAME].htm"; break; case 'vc': $url="/[CITY_NAME]-voyage/[CITY_NAME]-[INFO_URL_NAME].htm"; break; case 'vac': $url="/guia-[CITY_NAME]/[INFO_URL_NAME].htm"; break; case 'ru': $url="/[CITY_NAME]/[INFO_URL_NAME].htm"; break; case 'it': $url="/[CITY_NAME]/[INFO_URL_NAME].htm"; break; case 'mct': $url="/[CITY_NAME]-travel/[INFO_URL_NAME]/"; break; default: $url = ''; break; } break; } if ($url != '') { $city_sql = "SELECT TOP 1 ci2.CII2_Name \n" . "FROM CItyInfo2 ci2 \n" . "WHERE ci2.CII2_LGC = ? \n" . " AND ci2.CII2_CII_SN = ? "; $city_lgc=$site_array[$item->ic_sitecode]['site_lgc']; //日语和俄语使用英文语种url if($item->ic_sitecode=="jp" || $item->ic_sitecode=="ru") { $city_lgc=1; } $city_query = $this->HT->query($city_sql, array($city_lgc, $item->ic_ht_area_id)); if ($city_query->num_rows() > 0) { $city_row = $city_query->row(); $url = str_replace('[CITY_NAME]', $city_row->CII2_Name, $url); } } break; default: $url = ''; break; } if ($url != '') { $url_title=$item->ic_url_title; //日语和俄语使用英文语种url if($item->ic_sitecode=="jp" || $item->ic_sitecode=="ru") { $srms_sinitl_sql = "SELECT TOP 1 sinitl.SIITL_Name \n" . "FROM srms.dbo.SRMS_Info_New_InfoTypeLGC sinitl \n" . "WHERE sinitl.SIITL_LGC = 1 \n" . " AND sinitl.SIITL_SIITCode = ? "; $srms_sinitl_query=$this->HT->query($srms_sinitl_sql,array($item->SRMS_SIIT_Code)); if ($srms_sinitl_query->num_rows() > 0) { $srms_sinitl_row = $srms_sinitl_query->row(); $url_title = $srms_sinitl_row->SIITL_Name; } else{ $url_title = $item->ic_url; } } //转换大小写和空格变中划线 $url = str_replace('[INFO_URL_NAME]', trim($url_title), $url); $url = str_replace(' ', ' ', $url); $url = str_replace(' ', '-', $url); $url = str_replace('//', '/', $url); $url = str_replace('.htm.htm', '.htm', $url); $set_sql = "UPDATE infoContents \n" . "SET ic_url =N? \n" . "WHERE ic_id = ? \n" . " AND ic_sitecode=? "; //. " AND (ic_url ='' \n" //. " OR ic_url is null) "; $this->HT->query($set_sql, array(mb_strtolower($url), $item->ic_id,$site_code)); } } } //7.批量设置模板 function import_template($info_list) { //城市首页 $set_all_sql = "UPDATE infoContents \n" . "SET ic_template = 'city_info_index' \n" . "WHERE ic_type = 'root' \n" . " AND ic_ht_area_type = 'c'"; $this->HT->query($set_all_sql); //省份首页 $set_all_sql = "UPDATE infoContents \n" . "SET ic_template = 'area_info_index' \n" . "WHERE ic_type = 'root' \n" . " AND ic_ht_area_type = 'p'"; $this->HT->query($set_all_sql); //城市景点列表页 $set_all_sql = "UPDATE infoContents \n" . "SET ic_template = 'city_info_attractions_list' \n" . "WHERE ic_type = 'c_attraction' \n" . " AND ic_ht_area_type = 'c'"; $this->HT->query($set_all_sql); //CHT专用,小城市设置景点列表简化模板 $set_all_sql = "UPDATE infoContents \n" . "SET ic_template = 'city_info_s_attractions_list' \n" . "WHERE ic_type = 'c_attraction' \n" . " AND ic_ht_area_type = 'c' \n" . " AND ic_ht_area_id NOT IN (SELECT ci2.CII2_CII_SN \n" . " FROM CItyInfo2 ci2 \n" . " WHERE ci2.CII2_Name IN ('北京', '上海', '天津', \n" . " '重庆', '香港', '澳门', \n" . " '洛阳', '郑州', '承德', \n" . " '石家庄', '大同', \n" . " '太原', '哈尔滨', \n" . " '沈阳', '大连', \n" . " '呼和浩特', '长春', \n" . " '南京', '苏州', '无锡', \n" . " '杭州', '宁波', '黄山', \n" . " '合肥', '济南', '青岛', \n" . " '南昌', '武汉', '长沙', \n" . " '张家界', '广州', \n" . " '深圳', '珠海', '厦门', \n" . " '福州', '桂林', '南宁', \n" . " '海口', '三亚', '成都', \n" . " '贵阳', '昆明', '拉萨', \n" . " '西安', '兰州', '银川', \n" . " '乌鲁木齐', '烟台', \n" . " '西宁') \n" . " AND ci2.CII2_LGC = 2)"; $this->HT->query($set_all_sql); //CHT专用,小城市设置首页简化模板 $set_all_sql = "UPDATE infoContents \n" . "SET ic_template = 'city_info_s_index' \n" . "WHERE ic_type = 'root' \n" . " AND ic_ht_area_type = 'c' \n" . " AND ic_ht_area_id NOT IN (SELECT ci2.CII2_CII_SN \n" . " FROM CItyInfo2 ci2 \n" . " WHERE ci2.CII2_Name IN ('北京', '上海', '天津', \n" . " '重庆', '香港', '澳门', \n" . " '洛阳', '郑州', '承德', \n" . " '石家庄', '大同', \n" . " '太原', '哈尔滨', \n" . " '沈阳', '大连', \n" . " '呼和浩特', '长春', \n" . " '南京', '苏州', '无锡', \n" . " '杭州', '宁波', '黄山', \n" . " '合肥', '济南', '青岛', \n" . " '南昌', '武汉', '长沙', \n" . " '张家界', '广州', \n" . " '深圳', '珠海', '厦门', \n" . " '福州', '桂林', '南宁', \n" . " '海口', '三亚', '成都', \n" . " '贵阳', '昆明', '拉萨', \n" . " '西安', '兰州', '银川', \n" . " '乌鲁木齐', '烟台', \n" . " '西宁') \n" . " AND ci2.CII2_LGC = 2)"; $this->HT->query($set_all_sql); } //8.当前节点路径没有包含本节点则加上去 function import_path($info_list) { foreach ($info_list as $item) { if (strpos(',' . $item->is_path, ',' . $item->is_id . ',') === false) { $set_sql = "UPDATE infoStructures \n" . "SET is_path = is_path + CONVERT(VARCHAR(200), is_id) + ',' \n" . "WHERE is_id = ?"; $this->HT->query($set_sql, array($item->is_id)); } } } function import_cht_only() { $cht_sql = "SELECT ic.* \n" . "FROM infoContents ic \n" . "WHERE ic.ic_type = 'c_overview' \n" . " AND ic.ic_sitecode = 'cht'"; $cht_query = $this->HT->query($cht_sql); foreach ($cht_query->result() as $cht_item) { $set_sql = "UPDATE infoContents \n" . "SET ic_content = ?, \n" . " ic_summary = ?, \n" . " ic_photo = ? \n" . "WHERE ic_type = 'root' \n" . " AND ic_ht_area_type = 'c' \n" . " AND ic_ht_area_id = ? \n" . " AND ic_sitecode = 'cht'"; $this->HT->query($set_sql, array($cht_item->ic_content, $cht_item->ic_summary, $cht_item->ic_photo, $cht_item->ic_ht_area_id)); } } //导入月份天气数据 function import_weather() { $this->SRMS = $this->load->database('SRMS', TRUE); $weather_sql = "SELECT wd.C_ID, \n" . " wd.W_ID, \n" . " wd.W_Month, \n" . " wd.W_Des, \n" . " ( \n" . " SELECT TOP 1 ci2.CII2_Name \n" . " FROM tourmanager.dbo.cityInfo2 ci2 \n" . " WHERE wd.c_id = ci2.CII2_CII_SN \n" . " AND ci2.cii2_lgc = 1 \n" . " ) AS city_name \n" . "FROM Weather_Des wd \n" . "ORDER BY \n" . " wd.C_ID ASC, \n" . " wd.W_Month ASC "; $weather_query = $this->SRMS->query($weather_sql); foreach ($weather_query->result() as $weather_item) { //查找城市的天气节点 $city_weather_sql = "SELECT TOP 1 is1.is_id, \n" . " is_parent_id, \n" . " is_path, \n" . " is_level, \n" . " is_ic_id, \n" . " ic.ic_url, \n" . " ic.ic_url_title, \n" . " ic.ic_title, \n" . " ic_sitecode \n" . "FROM infoContents ic \n" . " INNER JOIN infoStructures is1 ON is1.is_ic_id = ic.ic_id \n" . " AND is1.is_sitecode = ic.ic_sitecode \n" . "WHERE ic.ic_ht_area_type = 'c' \n" . " AND ic.ic_ht_area_id = ? \n" . " AND ic.ic_type = 'c_weather'"; $city_weather_query = $this->HT->query($city_weather_sql, array($weather_item->C_ID)); if ($city_weather_query->num_rows() > 0) { $city_weather_row = $city_weather_query->row(); $month_name = $this->get_month_name($weather_item->W_Month); $ic_url = str_replace('/weather.htm', '/weather/', $city_weather_row->ic_url) . mb_strtolower($month_name) . '.htm'; $ic_url_title = $city_weather_row->ic_title . ' in ' . $month_name; $ic_title = $ic_url_title; $ic_content = $weather_item->W_Des . $this->get_temperature_table($weather_item->city_name, $weather_item->W_Month); $ic_ht_area_id = $weather_item->C_ID; $insert_content_sql = "INSERT INTO infoContents \n" . " ( \n" . " ic_url, ic_url_title, ic_title, ic_content, ic_status, ic_sitecode, \n" . " ic_datetime, ic_ht_area_id, ic_ht_area_type \n" . " ) \n" . "VALUES \n" . " ( \n" . " ?, ?, ?, ?, 1, 'cht', \n" . " getdate(), ?, 'c' \n" . " )"; $this->HT->query($insert_content_sql, array($ic_url, $ic_url_title, $ic_title, $ic_content, $ic_ht_area_id)); $is_ic_id = $this->HT->insert_id(); $is_parent_id = $city_weather_row->is_id; $is_path = $city_weather_row->is_path; //先插入父级路径,稍后再插入本记录的id到路径中 $is_level = $city_weather_row->is_level + 1; $insert_structure_sql = "INSERT INTO infoStructures \n" . " ( \n" . " is_parent_id, is_path, is_level, is_sort, is_sitecode, is_datetime, is_ic_id \n" . " ) \n" . "VALUES \n" . " ( \n" . " ?,?, ?, -1, 'cht', getdate(),? \n" . " )"; $this->HT->query($insert_structure_sql, array($is_parent_id, $is_path, $is_level, $is_ic_id)); $is_id = $this->HT->insert_id(); $update_structure_sql = "UPDATE infoStructures \n" . "SET is_path = ? \n" . "WHERE is_id = ?"; $this->HT->query($update_structure_sql, array($is_path . $is_id . ',', $is_id)); } } } //导入景点评论数 function import_review() { $attraction_sql = "SELECT ic.ic_id, \n" . " ic.ic_ht_product_id \n" . "FROM infoContents ic \n" . "WHERE ic.ic_ht_product_type = 't'"; $attraction_query = $this->HT->query($attraction_sql); foreach ($attraction_query->result() as $attraction_item) { $review_sql = "SELECT ISNULL(COUNT(*), 0) AS review_count \n" . "FROM Eva_ServiceItemInfo \n" . "WHERE ESI_ServiceType = '7' \n" . " AND ESI_ServiceSN = ? "; $review_query = $this->HT->query($review_sql, array($attraction_item->ic_ht_product_id)); add_meta($attraction_item->ic_id, 'meta_review_count', $review_query->row()->review_count); $set_atrtaction_sql = "UPDATE infoStructures \n" . "SET is_sort = ? \n" . "WHERE is_ic_id = ?"; $this->HT->query($set_atrtaction_sql, array(-$review_query->row()->review_count, $attraction_item->ic_id)); } } //重新生成所有节点 function reset_all_path() { $sql = "SELECT is1.is_id \n" . "FROM infoStructures is1 \n" . "WHERE is1.is_parent_id = 0"; $query = $this->HT->query($sql); foreach ($query->result() as $item) { $this->set_path($item->is_id, ''); } } //设置节点和子节点path function set_path($is_id, $parent_path) { $path = $parent_path . $is_id . ','; //设置自身节点path $set_structure_sql = "UPDATE infoStructures \n" . "SET is_path = ? \n" . "WHERE is_id = ?"; $this->HT->query($set_structure_sql, array($path, $is_id)); //查询所有子节点 $sub_structure_sql = "SELECT is1.is_id \n" . "FROM infoStructures is1 \n" . "WHERE is1.is_parent_id = ? "; $sub_structure_query = $this->HT->query($sub_structure_sql, array($is_id)); foreach ($sub_structure_query->result() as $structure_item) { $this->set_path($structure_item->is_id, $path); } } //根据月份数字获取月份名称 function get_month_name($month_number) { switch ($month_number) { case 1:$month_name = 'January'; break; case 2:$month_name = 'February'; break; case 3:$month_name = 'March'; break; case 4:$month_name = 'April'; break; case 5:$month_name = 'May'; break; case 6:$month_name = 'June'; break; case 7:$month_name = 'July'; break; case 8:$month_name = 'August'; break; case 9:$month_name = 'September'; break; case 10:$month_name = 'October'; break; case 11:$month_name = 'November'; break; case 12:$month_name = 'December'; break; default: $month_name = ''; break; } return $month_name; } //转换f符号 function format_f($fff) { return str_replace('f', '', $fff); } //转换c符号 function format_c($fff) { $fff_num = $this->format_f($fff); if (is_numeric($fff_num)) { return round(($fff_num - 32) * 5 / 9, 2); } return 'n/a'; } //获取天气温度表格 function get_temperature_table($city_name, $month_number) { $temperature_table = ''; //往内容中添加气温数据表格,需要构造字符串并插入 $temperature_sql = "SELECT ywi.YWI_Month, \n" . " ywi.YWI_Day, \n" . " ywi.YWI_Avg_High, \n" . " ywi.YWI_Avg_Low \n" . "FROM YearWeatherInfo ywi \n" . "WHERE ywi.YWI_CityName = ? \n" . " AND ywi.YWI_Month = ? \n" . "ORDER BY \n" . " CONVERT(INT, ywi.YWI_Day) ASC "; $temperature_query = $this->HT->query($temperature_sql, array($city_name, $month_number)); if ($temperature_query->num_rows() > 0) { $temperature_table = '
'; $temperature_table .= "Date | ' . 'Average High | ' . 'Average Low | ' . '||
---|---|---|---|---|
$month_name $temperature_item->YWI_Day | " . "$temperature_high_f °F | " . "$temperature_high_c °C | " . "$temperature_low_f °F | " . "$temperature_low_c °C | " . "