|
|
<?php
|
|
|
|
|
|
class Information_model extends CI_Model
|
|
|
{
|
|
|
|
|
|
var $topNum = false;
|
|
|
var $orderBy = false;
|
|
|
var $search_title = false;
|
|
|
var $search_url = false;
|
|
|
var $search = false;
|
|
|
var $path = false;
|
|
|
var $level = false;
|
|
|
var $is_parent_id = false;
|
|
|
var $is_id_array = false;
|
|
|
var $ic_url_is_id = false;
|
|
|
var $ic_ht_area_type = false;
|
|
|
var $ic_ht_area_id = false;
|
|
|
var $ic_type = false;
|
|
|
var $ic_id = false;
|
|
|
|
|
|
function __construct()
|
|
|
{
|
|
|
parent::__construct();
|
|
|
$this->HT = $this->load->database('INFORMATION', TRUE);
|
|
|
$this->HT229 = $this->load->database('HT', TRUE);
|
|
|
}
|
|
|
|
|
|
function init()
|
|
|
{
|
|
|
$this->topNum = false;
|
|
|
$this->orderBy = " ORDER BY ic_datetime DESC ";
|
|
|
$this->search_title = false;
|
|
|
$this->search_url = false;
|
|
|
$this->search = false;
|
|
|
$this->path = false;
|
|
|
$this->level = false;
|
|
|
$this->is_parent_id = false;
|
|
|
$this->is_id_array = false;
|
|
|
$this->ic_url_is_id = false;
|
|
|
$this->ic_ht_area_type = false;
|
|
|
$this->ic_ht_area_id = false;
|
|
|
$this->ic_id = false;
|
|
|
}
|
|
|
|
|
|
function get_last_edit_list($topNum = 24)
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->topNum = $topNum;
|
|
|
return $this->GetList();
|
|
|
}
|
|
|
|
|
|
function search($keyword)
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->topNum = 24;
|
|
|
if (is_numeric($keyword)) {
|
|
|
$this->search_title = "AND ic_id=" . $this->HT->escape($keyword);
|
|
|
} else {
|
|
|
$sql_keyword = '%' . $this->HT->escape_like_str($keyword) . '%';
|
|
|
$this->search_title = "AND (ic_url_title like N'$sql_keyword' OR ic_title like N'$sql_keyword' )";
|
|
|
}
|
|
|
return $this->GetList();
|
|
|
}
|
|
|
|
|
|
function search_all_text($keyword, $topnum = 24)
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->topNum = $topnum;
|
|
|
$sql_keyword = '%' . $this->HT->escape_like_str($keyword) . '%';
|
|
|
$this->search = " AND ic_content like N'$sql_keyword' ";
|
|
|
return $this->GetList();
|
|
|
}
|
|
|
|
|
|
//根据关键词来搜索内容
|
|
|
function search_by_words($url, array $words, $exclude_ids)
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->topNum = 1;
|
|
|
$sql_keyword = ' AND ( 1=1 ';
|
|
|
foreach ($words as $item) {
|
|
|
$sql_keyword .= " AND ic_title like '%" . $this->HT->escape_like_str(trim($item)) . "%' ";
|
|
|
}
|
|
|
$sql_keyword .= ' ) ';
|
|
|
$this->search = " AND ic_status=1 AND ic_url LIKE '$url%' " . $sql_keyword . ' AND is_id NOT IN(' . implode(',', $exclude_ids) . ',0)';
|
|
|
$this->orderBy = " ORDER BY is1.is_level ASC, is1.is_sort ASC,ic_datetime DESC ";
|
|
|
return $this->GetList('ic_id, is_id, ic_url,ic_url_title,ic_title,is_path,is_level,ic_status,ic.ic_photo');
|
|
|
}
|
|
|
|
|
|
//在当前节点下搜索关键词
|
|
|
function search_by_words_2($path, array $words, $exclude_ids)
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->topNum = 1;
|
|
|
$sql_keyword = ' AND ( 1=1 ';
|
|
|
foreach ($words as $item) {
|
|
|
$sql_keyword .= " AND ic_title like '%" . $this->HT->escape_like_str(trim($item)) . "%' ";
|
|
|
}
|
|
|
$sql_keyword .= ' ) ';
|
|
|
$this->path = " AND is1.is_path LIKE '$path%' ";
|
|
|
$this->search = ' AND ic_status=1 AND is_id NOT IN(' . implode(',', $exclude_ids) . ',0) ' . $sql_keyword;
|
|
|
$this->orderBy = " ORDER BY is1.is_level ASC, is1.is_sort ASC,ic_datetime DESC ";
|
|
|
return $this->GetList('ic_id, is_id, ic_url,ic_url_title,ic_title,is_path,is_level,ic_status,ic.ic_photo');
|
|
|
}
|
|
|
|
|
|
//在同级别下,随机获取N条数据,并且排除某些id
|
|
|
function random($topnum, $is_path, array $exclude_ids)
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->topNum = $topnum;
|
|
|
$this->search = " AND is1.is_path LIKE '$is_path%' ";
|
|
|
//$this->search = " AND is_parent_id =". $this->HT->escape($is_parent_id);
|
|
|
$exclude_ids_string = implode(',', $exclude_ids);
|
|
|
$this->search .= " AND ic_status=1 AND is_id NOT in ($exclude_ids_string,0)";
|
|
|
$this->orderBy = " ORDER BY NewID() ";
|
|
|
return $this->GetList('ic_id, is_id, ic_url,ic_url_title,ic_title,is_path,is_level,ic_status,ic.ic_photo');
|
|
|
}
|
|
|
|
|
|
//在urls列表里面,随机获取N条数据,并且排除某些id
|
|
|
function random_range($topnum, array $url_array, array $exclude_ids)
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->topNum = $topnum;
|
|
|
$this->search = ' AND ( 1=2 ';
|
|
|
foreach ($url_array as $item) {
|
|
|
$this->search .= ' OR ic_url= ' . $this->HT->escape(trim($item));
|
|
|
}
|
|
|
$this->search .= ' )';
|
|
|
$exclude_ids_string = implode(',', $exclude_ids);
|
|
|
$this->search .= " AND ic_status=1 AND is_id NOT in ($exclude_ids_string,0)";
|
|
|
$this->orderBy = " ORDER BY NewID() ";
|
|
|
return $this->GetList('ic_id, is_id, ic_url,ic_url_title,ic_title,is_path,is_level,ic_status,ic.ic_photo');
|
|
|
}
|
|
|
|
|
|
//根据url搜索信息
|
|
|
function search_url($url)
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->topNum = 24;
|
|
|
$this->search_url = ' AND ic_url= ' . $this->HT->escape($url);
|
|
|
return $this->GetList();
|
|
|
}
|
|
|
|
|
|
//根据根节点路径获取子节点列表
|
|
|
function get_list_by_path($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($filed, $site_code);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取当前页面的面包屑,不包括当前节点
|
|
|
*/
|
|
|
function get_path_exclude_self($is_id, $path)
|
|
|
{
|
|
|
$site_code = $this->config->item('site_code');
|
|
|
$path_query = $this->HT->query("select
|
|
|
ic_id, is_id, ic_url,ic_url_title,ic_title,is_path,is_level,ic_status
|
|
|
from infoStructures a inner join infoContents b on a.is_ic_id=b.ic_id
|
|
|
where is_id in ($path 0) and is_id <> ? and is_siteCode = ? order by is_level asc", array($is_id, $site_code));
|
|
|
$path_result = $path_query->result();
|
|
|
$path_list = [];
|
|
|
|
|
|
$group_map = [
|
|
|
278008010 => [
|
|
|
'ic_url' => '/travelguide/culture/',
|
|
|
'ic_url_title' => 'Chinese Culture'
|
|
|
],
|
|
|
278008011 => [
|
|
|
'ic_url' => '/travelguide/',
|
|
|
'ic_url_title' => 'Travel Guide'
|
|
|
],
|
|
|
278008012 => [
|
|
|
'ic_url' => '/aboutus/',
|
|
|
'ic_url_title' => 'About Us'
|
|
|
],
|
|
|
278008013 => [
|
|
|
'ic_url' => '/citytour/',
|
|
|
'ic_url_title' => 'City Tours'
|
|
|
],
|
|
|
278008014 => [
|
|
|
'ic_url' => '/tour/',
|
|
|
'ic_url_title' => 'China Tours'
|
|
|
]
|
|
|
];
|
|
|
|
|
|
foreach ($path_result as $path_row) {
|
|
|
|
|
|
$ic_url = $path_row->ic_url;
|
|
|
$ic_url_title = $path_row->ic_url_title;
|
|
|
|
|
|
if ($path_row->is_level === 0) {
|
|
|
if (array_key_exists($path_row->is_id, $group_map)) {
|
|
|
$top_group = $group_map[$path_row->is_id];
|
|
|
$path_array = [
|
|
|
'ic_id' => $path_row->ic_id,
|
|
|
'is_id' => $path_row->is_id,
|
|
|
'ic_title' => $path_row->ic_title,
|
|
|
'ic_url' => $top_group['ic_url'],
|
|
|
'ic_url_title' => $top_group['ic_url_title']
|
|
|
];
|
|
|
$path_list[] = $path_array;
|
|
|
}
|
|
|
} else if ($path_row->ic_status === 1) {
|
|
|
|
|
|
$path_array = [
|
|
|
'ic_id' => $path_row->ic_id,
|
|
|
'is_id' => $path_row->is_id,
|
|
|
'ic_title' => $path_row->ic_title,
|
|
|
'ic_url' => $path_row->ic_url,
|
|
|
'ic_url_title' => $path_row->ic_url_title
|
|
|
];
|
|
|
$path_list[] = $path_array;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return $path_list;
|
|
|
}
|
|
|
|
|
|
//根据路径获取某一级别节点详细页
|
|
|
function get_detail_by_path($path, $level)
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->topNum = 1;
|
|
|
$this->level = " AND is1.is_level= '$level' ";
|
|
|
$this->is_id_array = " AND is1.is_id IN ($path 0) ";
|
|
|
$this->orderBy = ' ORDER BY is1.is_level ASC, is1.is_sort ASC,is1.is_path ASC ';
|
|
|
return $this->GetList();
|
|
|
}
|
|
|
//根据节点ID列表获取信息
|
|
|
function get_detail_by_ids($is_ids)
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->is_id_array = " AND is1.is_id IN ($is_ids) ";
|
|
|
$this->orderBy = ' ORDER BY is1.is_level ASC, is1.is_sort ASC,is1.is_path ASC ';
|
|
|
return $this->GetList();
|
|
|
}
|
|
|
|
|
|
//根据根节点ID获取子节点列表
|
|
|
function get_list_by_id($is_parent_id, $level = false)
|
|
|
{
|
|
|
$this->init();
|
|
|
if ($level !== false) {
|
|
|
$this->level = " AND is1.is_level= '$level' ";
|
|
|
}
|
|
|
$this->is_parent_id = " AND is1.is_parent_id = '$is_parent_id' ";
|
|
|
$this->orderBy = ' ORDER BY is1.is_level ASC, is1.is_sort ASC,is1.is_path ASC ';
|
|
|
return $this->GetList('is1.is_id, ic.ic_id, ic.ic_url, ic.ic_url_title, ic.ic_title, ic.ic_datetime, ic.ic_author');
|
|
|
}
|
|
|
|
|
|
|
|
|
function Detail($ic_url_is_id, $filed = '')
|
|
|
{
|
|
|
if (empty($ic_url_is_id)) {
|
|
|
return false;
|
|
|
}
|
|
|
$this->init();
|
|
|
$this->topNum = 1;
|
|
|
if (is_numeric($ic_url_is_id)) {
|
|
|
$this->ic_url_is_id = " AND is1.is_id= " . $this->HT->escape($ic_url_is_id);
|
|
|
} else {
|
|
|
$this->ic_url_is_id = " AND ic.ic_url = " . $this->HT->escape($ic_url_is_id);
|
|
|
}
|
|
|
return $this->GetList();
|
|
|
}
|
|
|
|
|
|
function detail_by_ic_id($ic_id)
|
|
|
{
|
|
|
if (empty($ic_id)) {
|
|
|
return false;
|
|
|
}
|
|
|
$this->init();
|
|
|
$this->topNum = 1;
|
|
|
$this->ic_url_is_id = " AND ic.ic_id = " . $this->HT->escape($ic_id);
|
|
|
return $this->GetList();
|
|
|
}
|
|
|
|
|
|
function GetList($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 infoStructures is1 \n"
|
|
|
. " INNER JOIN infoContents ic ON ic.ic_id = is1.is_ic_id \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)
|
|
|
{
|
|
|
$sql = "SELECT TOP 1 is1.is_id, \n"
|
|
|
. " is1.is_parent_id, \n"
|
|
|
. " is1.is_path, \n"
|
|
|
. " is1.is_level, \n"
|
|
|
. " ic.ic_url_title \n"
|
|
|
. "FROM infoStructures is1 \n"
|
|
|
. " INNER JOIN infoContents ic ON ic.ic_id = is1.is_ic_id \n"
|
|
|
. " AND ic.ic_sitecode = is1.is_sitecode \n"
|
|
|
. "WHERE is1.is_sitecode = ? \n"
|
|
|
. " AND ic.ic_ht_area_type = ? \n"
|
|
|
. " AND ic.ic_ht_area_id = ? \n"
|
|
|
. "ORDER BY \n"
|
|
|
. " is1.is_level ASC, \n"
|
|
|
. " is1.is_sort ASC, \n"
|
|
|
. " is1.is_path ASC \n";
|
|
|
$query = $this->HT->query($sql, array($this->config->item('site_code'), $ic_ht_area_type, $ic_ht_area_id));
|
|
|
if ($query->result()) {
|
|
|
$row = $query->row();
|
|
|
return $row;
|
|
|
} else {
|
|
|
return FALSE;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//根据信息树id获取省份代号
|
|
|
public function get_province_by_isid($is_id)
|
|
|
{
|
|
|
$sql = " SELECT top 1 CII_PRI_SN
|
|
|
FROM infoStructures is1
|
|
|
INNER JOIN infoContents ic ON ic.ic_id = is1.is_ic_id
|
|
|
INNER JOIN CItyInfo ON ic.ic_ht_area_id=CII_SN
|
|
|
WHERE is1.is_id=?";
|
|
|
$query = $this->HT->query($sql, array($is_id));
|
|
|
$result = $query->result();
|
|
|
if (!empty($result)) {
|
|
|
return $result[0]->CII_PRI_SN;
|
|
|
} else {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//获取结构列表
|
|
|
function StructureList($is_id)
|
|
|
{
|
|
|
$sql = "SELECT is1.is_id AS id, \n"
|
|
|
. " is1.is_parent_id AS pId, \n"
|
|
|
. " ISNULL(ic.ic_url_title,'New Information') AS name , \n"
|
|
|
. " ISNULL(ic.ic_status,0) AS status, \n"
|
|
|
. " is1.is_path, \n"
|
|
|
. " is1.is_id \n"
|
|
|
. "FROM infoStructures is1 \n"
|
|
|
. " INNER JOIN infoContents ic ON ic.ic_id = is1.is_ic_id \n"
|
|
|
. "WHERE is1.is_id = ? \n"
|
|
|
. " OR ',' + is1.is_path LIKE '%,$is_id,%' \n"
|
|
|
. "ORDER BY \n"
|
|
|
. " is1.is_level ASC, \n"
|
|
|
. " is1.is_sort ASC, \n"
|
|
|
. " is1.is_path ASC \n";
|
|
|
$query = $this->HT->query($sql, array($is_id));
|
|
|
//print_r($this->HT->queries);
|
|
|
return $query->result();
|
|
|
}
|
|
|
|
|
|
//检测链接是否重复
|
|
|
function URLcheck($is_id, $ic_url)
|
|
|
{
|
|
|
$sql = "SELECT TOP 1 is1.is_id \n"
|
|
|
. "FROM infoStructures is1 \n"
|
|
|
. " INNER JOIN infoContents ic ON ic.ic_id = is1.is_ic_id \n"
|
|
|
. "WHERE is1.is_id <> ? \n "
|
|
|
. " AND ic.ic_url = ? \n"
|
|
|
. " AND ic.ic_sitecode=? ";
|
|
|
$query = $this->HT->query($sql, array($is_id, $ic_url, $this->config->item('site_code')));
|
|
|
//print_r($this->HT->queries);
|
|
|
if ($query->num_rows() > 0) {
|
|
|
return false;
|
|
|
} else {
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//获取没有绑定的景点列表
|
|
|
function get_unlink_landscape_list($city_id)
|
|
|
{
|
|
|
$sql = "SELECT TOP 8 lsi.LSI_SN, \n"
|
|
|
. " lsi.LSI_City, \n"
|
|
|
. " lsi2.LSI2_Name, \n"
|
|
|
. " ci2.CII2_Name \n"
|
|
|
. "FROM tourmanager.dbo.LandScapeInfo lsi \n"
|
|
|
. " INNER JOIN tourmanager.dbo.LandScapeInfo2 lsi2 ON lsi2.LSI2_LSI_SN = lsi.LSI_SN \n"
|
|
|
. " AND lsi2.LSI2_LGC = ? \n"
|
|
|
. " INNER JOIN tourmanager.dbo.CItyInfo2 ci2 ON ci2.CII2_CII_SN = lsi.LSI_City \n"
|
|
|
. " AND ci2.CII2_LGC = ? \n"
|
|
|
. "WHERE lsi.LSI_Publish = 1 \n"
|
|
|
. " AND (lsi.LSI_ParentSN IS NULL OR lsi.LSI_ParentSN = 0) \n"
|
|
|
. " AND lsi.LSI_City = ? \n"
|
|
|
. " AND NOT EXISTS( \n"
|
|
|
. " SELECT TOP 1 1 \n"
|
|
|
. " FROM infoContents ic \n"
|
|
|
. " WHERE ic.ic_ht_product_type = 't' \n"
|
|
|
. " AND ic.ic_ht_product_id = lsi.LSI_SN \n"
|
|
|
. " ) \n"
|
|
|
. "ORDER BY \n"
|
|
|
. " lsi2.LSI2_SN DESC";
|
|
|
$query = $this->HT229->query($sql, array($this->config->item('site_lgc'), $this->config->item('site_lgc'), $city_id));
|
|
|
return $query->result();
|
|
|
}
|
|
|
|
|
|
//获取根节点列表
|
|
|
function root_type_list()
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->orderBy = " ORDER BY ic.ic_url_title ASC ";
|
|
|
$this->level = " AND is1.is_level=1 ";
|
|
|
$this->is_parent_id = " AND is1.is_parent_id=0 ";
|
|
|
$this->ic_type = " AND ic.ic_type='root' ";
|
|
|
return $this->GetList();
|
|
|
}
|
|
|
|
|
|
//获取某个信息类型详情
|
|
|
function get_type_detail($type_name, $area_type, $area_id)
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->topNum = 1;
|
|
|
$this->orderBy = " ORDER BY is1.is_level ASC ";
|
|
|
$this->ic_ht_area_type = " AND ic.ic_ht_area_type= " . $this->HT->escape($area_type);
|
|
|
$this->ic_ht_area_id = " AND ic.ic_ht_area_id=" . $this->HT->escape($area_id);
|
|
|
$this->ic_type = " AND ic.ic_type= " . $this->HT->escape($type_name);
|
|
|
return $this->GetList();
|
|
|
}
|
|
|
|
|
|
//获取3年未更新的信息
|
|
|
function get_oldest_info($yeardiff = 3, $has_no_pub = true, $empty_info = true)
|
|
|
{
|
|
|
$has_no_pub ? $sql_no_pub = '' : $sql_no_pub = "AND ic_status = 1";
|
|
|
$empty_info ? $sql_empty_info = '' : $sql_empty_info = "AND datalength(ic_content) > 0";
|
|
|
//sql
|
|
|
$sql = "SELECT
|
|
|
ic_id,
|
|
|
ic_url,
|
|
|
ic_sitecode,
|
|
|
ic_title,
|
|
|
ic_url_title,
|
|
|
ic_datetime,
|
|
|
ic_type,
|
|
|
ic_author,
|
|
|
ic_status,
|
|
|
ic_view,
|
|
|
is_id
|
|
|
FROM infoContents
|
|
|
LEFT JOIN infoStructures ON ic_id = is_ic_id
|
|
|
WHERE YEAR(GETDATE()) - YEAR(ic_datetime) >= ?
|
|
|
AND ic_sitecode = ?
|
|
|
" . $sql_no_pub . "
|
|
|
" . $sql_empty_info . "
|
|
|
AND ic_url <> ''
|
|
|
ORDER BY ic_datetime desc";
|
|
|
$query = $this->HT->query($sql, array($yeardiff, $this->config->item('site_code')));
|
|
|
return $query->result();
|
|
|
}
|
|
|
|
|
|
|
|
|
//ct
|
|
|
function ct_get_by_url($ic_url, $webcode)
|
|
|
{
|
|
|
$this->ic_url_is_id = " AND ic.ic_url = N" . $this->HT->escape($ic_url);
|
|
|
$sql = "SELECT 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.ic_author \n"
|
|
|
. " FROM infoStructures is1 \n"
|
|
|
. " INNER JOIN infoContents ic ON ic.ic_id = is1.is_ic_id \n"
|
|
|
. " AND ic.ic_sitecode = is1.is_sitecode \n"
|
|
|
. " WHERE is1.is_sitecode = ? ";
|
|
|
$sql .= $this->ic_url_is_id;
|
|
|
$query = $this->HT->query($sql, $webcode);
|
|
|
// print_r($this->HT->queries);
|
|
|
|
|
|
return $query->row();
|
|
|
}
|
|
|
|
|
|
//获取分组列表
|
|
|
function group_list()
|
|
|
{
|
|
|
$this->init();
|
|
|
$this->search = ' AND is_level<=1 ';
|
|
|
$this->orderBy = ' ORDER BY is1.is_level ASC, is1.is_sort ASC,ic.ic_title ASC,is1.is_path ASC ';
|
|
|
return $this->GetList();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* CT 获取当前页面的面包屑,不包括当前节点,去除链接为空及不发布的节点
|
|
|
*/
|
|
|
function get_path_exclude_ct($is_id, $path)
|
|
|
{
|
|
|
$site_code = $this->config->item('site_code');
|
|
|
$path_query = $this->HT->query("select
|
|
|
ic_id, is_id, ic_url,ic_url_title,ic_title,is_path,is_level,ic_status
|
|
|
from infoStructures a inner join infoContents b on a.is_ic_id=b.ic_id
|
|
|
where is_id in ($path 0) and is_id <> ? and is_siteCode = ? order by is_level asc", array($is_id, $site_code));
|
|
|
$path_result = $path_query->result();
|
|
|
$path_list = [];
|
|
|
|
|
|
$group_map = [
|
|
|
278013869 => [
|
|
|
'ic_url' => '/tour',
|
|
|
'ic_url_title' => 'China Tours'
|
|
|
],
|
|
|
278014282 => [
|
|
|
'ic_url' => '/citytour',
|
|
|
'ic_url_title' => 'China City Tours'
|
|
|
],
|
|
|
278013862 => [
|
|
|
'ic_url' => '/daytrip',
|
|
|
'ic_url_title' => 'China Day Trip'
|
|
|
],
|
|
|
278014609 => [
|
|
|
'ic_url' => '/china-trains',
|
|
|
'ic_url_title' => 'China Trains'
|
|
|
],
|
|
|
278014608 => [
|
|
|
'ic_url' => '/china-flights',
|
|
|
'ic_url_title' => 'China Flights'
|
|
|
]
|
|
|
];
|
|
|
|
|
|
foreach ($path_result as $path_row) {
|
|
|
|
|
|
if (array_key_exists($path_row->is_id, $group_map)) {
|
|
|
$top_group = $group_map[$path_row->is_id];
|
|
|
$path_array = [
|
|
|
'ic_id' => $path_row->ic_id,
|
|
|
'is_id' => $path_row->is_id,
|
|
|
'ic_title' => $path_row->ic_title,
|
|
|
'ic_url' => $top_group['ic_url'],
|
|
|
'ic_url_title' => $top_group['ic_url_title']
|
|
|
];
|
|
|
$path_list[] = $path_array;
|
|
|
} else if ($path_row->ic_status === 1) {
|
|
|
$path_array = [
|
|
|
'ic_id' => $path_row->ic_id,
|
|
|
'is_id' => $path_row->is_id,
|
|
|
'ic_title' => $path_row->ic_title,
|
|
|
'ic_url' => $path_row->ic_url,
|
|
|
'ic_url_title' => $path_row->ic_url_title
|
|
|
];
|
|
|
$path_list[] = $path_array;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return $path_list;
|
|
|
}
|
|
|
}
|