|
|
<?php
|
|
|
|
|
|
class InfoMetas_model extends CI_Model
|
|
|
{
|
|
|
|
|
|
function __construct()
|
|
|
{
|
|
|
parent::__construct();
|
|
|
$this->HT = $this->load->database('INFORMATION', TRUE);
|
|
|
}
|
|
|
|
|
|
function add($im_ic_id, $im_key, $im_value)
|
|
|
{
|
|
|
$sql = "INSERT INTO infoMetas \n"
|
|
|
. " ( \n"
|
|
|
. " im_ic_id, im_key, im_value \n"
|
|
|
. " ) \n"
|
|
|
. "VALUES \n"
|
|
|
. " ( \n"
|
|
|
. " ?, ?, N? \n"
|
|
|
. " )";
|
|
|
return $this->HT->query($sql, array($im_ic_id, $im_key, (string) $im_value));
|
|
|
}
|
|
|
|
|
|
function get_list($im_ic_id, $im_key)
|
|
|
{
|
|
|
$sql = "
|
|
|
SELECT im.im_id
|
|
|
,im.im_ic_id
|
|
|
,im.im_key
|
|
|
,im.im_value
|
|
|
FROM infoMetas im
|
|
|
WHERE im.im_ic_id = ?
|
|
|
AND im.im_key = ?
|
|
|
ORDER BY im.im_id ASC
|
|
|
";
|
|
|
$query = $this->HT->query($sql, array($im_ic_id, $im_key));
|
|
|
return $query->result();
|
|
|
}
|
|
|
|
|
|
function get_list_by_key($im_ic_id, $im_key)
|
|
|
{
|
|
|
$sql = "
|
|
|
SELECT im.im_id
|
|
|
,im.im_ic_id
|
|
|
,im.im_key
|
|
|
,im.im_value
|
|
|
FROM infoMetas im
|
|
|
WHERE im.im_ic_id = ?
|
|
|
AND im.im_key = ?
|
|
|
ORDER BY im.im_id ASC
|
|
|
";
|
|
|
$query = $this->HT->query($sql, array($im_ic_id, $im_key));
|
|
|
return $query->result();
|
|
|
}
|
|
|
|
|
|
//列表所有含AMPmeta的信息。
|
|
|
public function list_amp($site_code)
|
|
|
{
|
|
|
$sql = "
|
|
|
SELECT im.im_id
|
|
|
,im.im_ic_id
|
|
|
,c.ic_url
|
|
|
,c.ic_id
|
|
|
,empty_tpl = case when c.ic_template in ('r_tpl_empty', 'r_empty_container', 'r_empty2', 'r_tpl_empty_2017', 'tpl_empty', 'tpl_empty_h1', 'tpl_empty_navi_h1') then 'yes' else 'no' end
|
|
|
FROM infoMetas im
|
|
|
INNER JOIN infoContents c
|
|
|
ON c.ic_id = im.im_ic_id
|
|
|
LEFT JOIN infoMetas im2
|
|
|
ON im2.im_ic_id = im.im_ic_id AND im2.im_key = 'AMP_STATUS'
|
|
|
LEFT JOIN infoMetas im3
|
|
|
ON im3.im_ic_id = im.im_ic_id AND im2.im_key = 'AMP_SCHEMA'
|
|
|
WHERE im.im_key = 'AMP_JSON'
|
|
|
AND c.ic_sitecode = ?
|
|
|
AND c.ic_status = 1
|
|
|
AND CONVERT(varchar, im2.im_value) = '1'
|
|
|
";
|
|
|
$query = $this->HT->query($sql, array($site_code));
|
|
|
return $query->result();
|
|
|
}
|
|
|
|
|
|
//列表所有不含AMPmeta的信息。
|
|
|
public function list_no_amp($site_code)
|
|
|
{
|
|
|
$sql = "
|
|
|
SELECT c0.ic_id, c0.ic_url
|
|
|
FROM infoContents c0
|
|
|
WHERE c0.ic_id not in (
|
|
|
SELECT c.ic_id
|
|
|
FROM infoMetas im
|
|
|
LEFT JOIN infoContents c
|
|
|
ON c.ic_id = im.im_ic_id
|
|
|
LEFT JOIN infoMetas im2
|
|
|
ON im2.im_ic_id = im.im_ic_id AND im2.im_key = 'AMP_STATUS'
|
|
|
LEFT JOIN infoMetas im3
|
|
|
ON im3.im_ic_id = im.im_ic_id AND im2.im_key = 'AMP_SCHEMA'
|
|
|
WHERE im.im_key = 'AMP_JSON'
|
|
|
AND c.ic_sitecode = ?
|
|
|
AND c.ic_status = 1
|
|
|
AND CONVERT(varchar, im2.im_value) = '1'
|
|
|
)
|
|
|
AND c0.ic_sitecode = ?
|
|
|
AND c0.ic_status = 1
|
|
|
AND c0.ic_url <> ''
|
|
|
AND datalength(c0.ic_content) > 0
|
|
|
AND CHARINDEX('search', c0.ic_url) = 0
|
|
|
AND CHARINDEX('faq', c0.ic_url) = 0
|
|
|
AND CHARINDEX('feedback', c0.ic_url) = 0
|
|
|
AND CHARINDEX('test', c0.ic_url) = 0
|
|
|
";
|
|
|
$query = $this->HT->query($sql, array($site_code, $site_code));
|
|
|
return $query->result();
|
|
|
}
|
|
|
|
|
|
//按节点列表信息(含meta数据)
|
|
|
function list_info_by_path_with_meta($is_path, $site_code)
|
|
|
{
|
|
|
$sql = "SELECT is1.is_id, \n"
|
|
|
. " is1.is_path, \n"
|
|
|
. " ic.ic_id, \n"
|
|
|
. " ic.ic_url, \n"
|
|
|
. " ic.ic_status, \n"
|
|
|
. " ic.ic_template, \n"
|
|
|
. " ic.ic_sitecode, \n"
|
|
|
. " ic.ic_content, \n"
|
|
|
. " ic.ic_photo, \n"
|
|
|
. " ic.ic_title, \n"
|
|
|
. " ic.ic_type, \n"
|
|
|
. " im.im_id \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"
|
|
|
. " LEFT JOIN infoMetas im ON im.im_ic_id = ic.ic_id AND im.im_key=?"
|
|
|
. " WHERE is1.is_path LIKE '$is_path%' AND is_sitecode = ? AND ic_status = 1"
|
|
|
. " ORDER BY is1.is_level, is1.is_sort, is1.is_path";
|
|
|
$query = $this->HT->query($sql, array('AMP_JSON', $site_code));
|
|
|
//print_r($this->HT->queries);
|
|
|
return $query->result();
|
|
|
}
|
|
|
|
|
|
function get($im_ic_id, $im_key)
|
|
|
{
|
|
|
$sql = "SELECT im.im_value \n"
|
|
|
. "FROM 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"
|
|
|
. "FROM infoMetas im \n"
|
|
|
. "WHERE im.im_ic_id = ? \n"
|
|
|
. " AND im.im_key = ? ORDER BY im.im_id asc";
|
|
|
$query = $this->HT->query($sql, array($im_ic_id, $im_key));
|
|
|
return $query->result();
|
|
|
}
|
|
|
|
|
|
//获取未收录的信息
|
|
|
public function get_unembody_content($datetime, $top_num = 1)
|
|
|
{
|
|
|
$sql = " SELECT TOP $top_num
|
|
|
im_ic_id,
|
|
|
im_value,
|
|
|
ic_url,
|
|
|
ic_sitecode,
|
|
|
log_ht_usercode AS ic_author
|
|
|
FROM infoMetas
|
|
|
INNER JOIN infoStructures ON is_ic_id=im_ic_id
|
|
|
INNER JOIN infoContents ON ic_id=im_ic_id
|
|
|
INNER JOIN infologs ON log_res_id=is_id
|
|
|
WHERE im_key = 'meta_embody'
|
|
|
AND convert(varchar(500),im_value) != '1'
|
|
|
AND convert(varchar(500),im_value)<N?
|
|
|
ORDER BY im_id DESC";
|
|
|
$query = $this->HT->query($sql, array($datetime));
|
|
|
return $query->result();
|
|
|
}
|
|
|
|
|
|
function update($im_ic_id, $im_key, $im_value)
|
|
|
{
|
|
|
$sql = "UPDATE infoMetas \n"
|
|
|
. "SET im_value = N? \n"
|
|
|
. "WHERE im_ic_id = ? \n"
|
|
|
. " AND im_key = ?";
|
|
|
return $this->HT->query($sql, array((string) $im_value, $im_ic_id, $im_key));
|
|
|
}
|
|
|
|
|
|
function delete($im_ic_id, $im_key)
|
|
|
{
|
|
|
$sql = "DELETE \n"
|
|
|
. "FROM infoMetas \n"
|
|
|
. "WHERE im_ic_id = ? \n"
|
|
|
. " AND im_key = ?";
|
|
|
return $this->HT->query($sql, array($im_ic_id, $im_key));
|
|
|
}
|
|
|
|
|
|
function update_by_id($im_id, $im_value)
|
|
|
{
|
|
|
$sql = "UPDATE infoMetas \n"
|
|
|
. "SET im_value = N? \n"
|
|
|
. "WHERE im_id = ? \n";
|
|
|
return $this->HT->query($sql, array($im_value, $im_id));
|
|
|
}
|
|
|
|
|
|
function delete_by_id($im_id)
|
|
|
{
|
|
|
$sql = "DELETE \n"
|
|
|
. "FROM infoMetas \n"
|
|
|
. "WHERE im_id = ? \n";
|
|
|
return $this->HT->query($sql, array($im_id));
|
|
|
}
|
|
|
|
|
|
}
|