You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

163 lines
6.1 KiB
PHP

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
class Information_model extends CI_Model {
var $top_num = false;
var $order_by = false;
var $search_title = false;
var $search_url = 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_type = false;
var $ic_show_bread_crumbs = false;
var $ic_ht_area_id = false;
var $ic_ht_area_type = false;
var $cols = false;
var $ic_template = false;
var $sql = false;
function __construct() {
parent::__construct();
$this->HT = $this->load->database('HT', TRUE);
}
function init() {
$this->top_num = false;
$this->order_by = empty($this->order_by) ? " ORDER BY ic_datetime DESC " : $this->order_by;
$this->search_title = false;
$this->search_url = 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_show_bread_crumbs = false;
$this->cols = false;
$this->ic_template = false;
$this->sql = false;
}
//可以传递url或者id如果有id则以ID进行查询
function get_detail($ic_url_is_id) {
$this->init();
$this->top_num = 1;
$this->order_by = ' ORDER BY LEN(CAST(ic.ic_content AS NVARCHAR(MAX))) DESC,LEN(CAST(ic.ic_summary AS NVARCHAR(MAX))) DESC,is1.is_id ASC ';
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 = N" . $this->HT->escape($ic_url_is_id);
}
return $this->get_list();
}
/*传递父级ID获取同级目录
*@parameter $is_parent_id int 传入的父级id
*@parameter $num int 要获取的数目,默认五条
*@author CSK
*@date 2016-10-27
*/
function get_same_level($is_parent_id,$num=5){
$this->init();
$this->top_num=$num;
$this->cols="is1.is_sort,ic.ic_url,ic_url_title";
$this->ic_url_is_id="AND is1.is_parent_id=".$this->HT->escape($is_parent_id);
$this->order_by="ORDER BY is_sort ASC";
return $this->get_list();
}
/*传递一组ID获取信息
*@parameter $is_id string 传入的id字符串1,2,3
*@author CSK
*@date 2016-10-27
*/
function get_some_detail($is_id){
$this->init();
$this->cols="ic.ic_url,ic_url_title,ic_photo";
$this->ic_url_is_id="AND ic.ic_id in (".$is_id.")";
return $this->get_list();
}
function get_list() {
$this->top_num ? $sql = "SELECT TOP " . $this->top_num : $sql = "SELECT ";
if (!empty($this->cols)) {
$sql .= $this->cols;
} else {
$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.ic_author, \n"
. " o2.OPI2_FirstName, \n"
. " o2.OPI2_LastName \n";
}
$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"
. " LEFT JOIN OperatorInfo o1 ON o1.OPI_Code = ic.ic_author \n"
. " LEFT JOIN OperatorInfo2 o2 ON o1.OPI_SN = o2.OPI2_OPI_SN AND o2.OPI2_LGC = ? \n"
. "WHERE ic.ic_status = 1 \n"
. "AND is1.is_sitecode = ? ";
$this->search_title ? $sql.=$this->search_title : false;
$this->search_url ? $sql.=$this->search_url : false;
$this->path ? $sql.=$this->path : false;
$this->level ? $sql.=$this->level : false;
$this->ic_type ? $sql.=$this->ic_type : false;
$this->ic_ht_area_id ? $sql.=$this->ic_ht_area_id : false;
$this->ic_ht_area_type ? $sql.=$this->ic_ht_area_type : false;
$this->is_parent_id ? $sql.=$this->is_parent_id : false;
$this->ic_show_bread_crumbs ? $sql.=$this->ic_show_bread_crumbs : 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_template ? $sql.=$this->ic_template : false;
$this->order_by ? $sql.=$this->order_by : false;
$query = $this->HT->query($sql, array($this->config->item('Site_LGC'), $this->config->item('Site_Code')));
//$this->sql = $this->HT->queries;
if ($this->top_num === 1) {
if ($query->num_rows() > 0) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
} else {
return $query->result();
}
}
}