HT = $this->load->database('HT', 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_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)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)); } }