Browse Source

오류 수정

master
장선근 5 years ago
parent
commit
05e3532370
  1. 11
      wheeparam/application/controllers/Rss.php
  2. 12
      wheeparam/application/controllers/Sitemap.php
  3. 3
      wheeparam/application/controllers/admin/Board.php
  4. 60
      wheeparam/application/controllers/ajax/Board.php
  5. 31
      wheeparam/application/helpers/widgets_helper.php
  6. 10
      wheeparam/application/models/Search_model.php

11
wheeparam/application/controllers/Rss.php

@ -9,13 +9,13 @@ class Rss extends WB_Controller {
function index($brd_key="") function index($brd_key="")
{ {
$this->load->model('board_model');
$this->load->library('boardlib');
$brd_array = array(); $brd_array = array();
// 통합 RSS 인 경우 // 통합 RSS 인 경우
if( empty($brd_key) ) if( empty($brd_key) )
{ {
$board_list = $this->db->where('brd_use_total_rss','Y')->where('brd_lv_read', '0')->get('board')->result_array();
$board_list = $this->db->where('brd_lv_read', '0')->get('board')->result_array();
foreach($board_list as $b) foreach($board_list as $b)
{ {
$brd_array[] = $b['brd_key']; $brd_array[] = $b['brd_key'];
@ -23,7 +23,7 @@ class Rss extends WB_Controller {
} }
else else
{ {
$board = $this->board_model->get_board($brd_key, TRUE);
$board = $this->boardlib->get($brd_key, TRUE);
if( $board['brd_use_rss'] != 'Y' OR $board['brd_lv_read'] > 0 ) if( $board['brd_use_rss'] != 'Y' OR $board['brd_lv_read'] > 0 )
{ {
die('해당 게시판은 RSS 사용 설정이 되어있지 않습니다.'); die('해당 게시판은 RSS 사용 설정이 되어있지 않습니다.');
@ -41,6 +41,7 @@ class Rss extends WB_Controller {
->join('board','board.brd_key=board_post.brd_key','inner') ->join('board','board.brd_key=board_post.brd_key','inner')
->where_in('board_post.brd_key', $brd_array) ->where_in('board_post.brd_key', $brd_array)
->where('post_status' ,'Y') ->where('post_status' ,'Y')
->where('post_secret', 'N')
->order_by('post_num DESC, post_reply ASC, post_idx DESC') ->order_by('post_num DESC, post_reply ASC, post_idx DESC')
->limit(50) ->limit(50)
->get('board_post') ->get('board_post')
@ -72,8 +73,8 @@ class Rss extends WB_Controller {
echo "<item>\n"; echo "<item>\n";
echo "<title><![CDATA[" . element('post_title', $row) . "]]></title>\n"; echo "<title><![CDATA[" . element('post_title', $row) . "]]></title>\n";
echo "<link>" . base_url( "board/{$row['brd_key']}/{$row['post_idx']}") . "</link>\n"; echo "<link>" . base_url( "board/{$row['brd_key']}/{$row['post_idx']}") . "</link>\n";
echo "<author>" . html_escape(element('mem_nickname', $row)) . "</author>\n";
echo "<pubDate>" . date('Y-m-d', strtotime($row['post_regtime'])) . "</pubDate>\n";
echo "<author>" . html_escape(element('post_nickname', $row)) . "</author>\n";
echo "<pubDate>" . date('Y-m-d', strtotime($row['reg_datetime'])) . "</pubDate>\n";
echo "<description><![CDATA[" . display_html_content($row['post_content']) . "]]></description>\n"; echo "<description><![CDATA[" . display_html_content($row['post_content']) . "]]></description>\n";
echo "<category>" . html_escape($row['brd_title']) . "</category>\n"; echo "<category>" . html_escape($row['brd_title']) . "</category>\n";
echo "</item>\n"; echo "</item>\n";

12
wheeparam/application/controllers/Sitemap.php

@ -47,7 +47,7 @@ class Sitemap extends WB_Controller {
*/ */
function index() function index()
{ {
$list = $this->db->where('brd_use_sitemap','Y')->where('brd_lv_read','0')->get('board')->result_array();
$list = $this->db->where('brd_lv_read','0')->get('board')->result_array();
ob_start(); ob_start();
echo "<?xml version=\"1.0\" encoding=\"" . config_item('charset') . "\"?".">\n"; echo "<?xml version=\"1.0\" encoding=\"" . config_item('charset') . "\"?".">\n";
@ -78,16 +78,14 @@ class Sitemap extends WB_Controller {
*/ */
function board($brd_key) function board($brd_key)
{ {
$this->load->model('board_model');
if(empty($brd_key)) if(empty($brd_key))
{ {
die('잘못된 접근입니다.'); die('잘못된 접근입니다.');
} }
$board = $this->board_model->get_board($brd_key, TRUE);
$board = $this->boardlib->get($brd_key, TRUE);
if( !$board OR $board['brd_use_sitemap'] != 'Y' OR $board['brd_lv_read'] > 0 )
if( !$board OR $board['brd_lv_read'] > 0 )
{ {
die('이 게시판은 사이트맵을 사용하지 않습니다.'); die('이 게시판은 사이트맵을 사용하지 않습니다.');
} }
@ -98,7 +96,7 @@ class Sitemap extends WB_Controller {
// 게시판 자체 사이트맵 추가 // 게시판 자체 사이트맵 추가
// 게시판글 최종수정일 가져오기 // 게시판글 최종수정일 가져오기
$max_date = $this->db->select_max('post_modtime', 'max')->where('post_status','Y')->where('brd_key',$brd_key)->from('board_post')->get()->row(0)->max;
$max_date = $this->db->select_max('upd_datetime', 'max')->where('post_status','Y')->where('brd_key',$brd_key)->from('board_post')->get()->row(0)->max;
$data['list'][] = array( $data['list'][] = array(
"loc" => base_url("/board/{$brd_key}"), "loc" => base_url("/board/{$brd_key}"),
"lastmod" => date('Y-m-d', strtotime($max_date)), "lastmod" => date('Y-m-d', strtotime($max_date)),
@ -110,7 +108,7 @@ class Sitemap extends WB_Controller {
{ {
$data['list'][] = array( $data['list'][] = array(
"loc" => base_url("/board/{$brd_key}/{$row['post_idx']}"), "loc" => base_url("/board/{$brd_key}/{$row['post_idx']}"),
"lastmod" => date('Y-m-d', strtotime($row['post_modtime'])),
"lastmod" => date('Y-m-d', strtotime($row['upd_datetime'])),
"priority" => "0.7", "priority" => "0.7",
"changefreq" => "daily" "changefreq" => "daily"
); );

3
wheeparam/application/controllers/admin/Board.php

@ -30,7 +30,6 @@ class Board extends WB_Controller
*/ */
public function form($brd_key="") public function form($brd_key="")
{ {
$this->load->model('board_model');
$this->load->library('form_validation'); $this->load->library('form_validation');
$this->form_validation->set_rules('brd_key','게시판 고유 키',"required|trim|min_length[3]|max_length[20]". (empty($brd_key)?"|callback_brd_key_check":"")); $this->form_validation->set_rules('brd_key','게시판 고유 키',"required|trim|min_length[3]|max_length[20]". (empty($brd_key)?"|callback_brd_key_check":""));
@ -144,7 +143,6 @@ class Board extends WB_Controller
*/ */
public function board_copy($brd_key) public function board_copy($brd_key)
{ {
$this->load->model('board_model');
$this->load->library('form_validation'); $this->load->library('form_validation');
$this->form_validation->set_rules('original', "원본 게시판", "required|trim"); $this->form_validation->set_rules('original', "원본 게시판", "required|trim");
@ -194,7 +192,6 @@ class Board extends WB_Controller
*/ */
function brd_key_check($str) function brd_key_check($str)
{ {
$this->load->model('board_model');
if(! preg_match("/^[a-z][a-z0-9_]{2,19}$/", $str)) if(! preg_match("/^[a-z][a-z0-9_]{2,19}$/", $str))
{ {

60
wheeparam/application/controllers/ajax/Board.php

@ -20,68 +20,12 @@ class Board extends REST_Controller
if (empty($brd_key)) $this->error_return("FAQ 고유키값이 없습니다.", 400); if (empty($brd_key)) $this->error_return("FAQ 고유키값이 없습니다.", 400);
$this->load->model('board_model');
$board = $this->board_model->get_board($brd_key, $is_raw);
$this->load->library('boardlib');
$board = $this->boardlib->get($brd_key, $is_raw);
$this->response($board, 200); $this->response($board, 200);
} }
function category_delete()
{
$bca_idx = $this->delete('bca_idx', TRUE);
if( empty($bca_idx) ) $this->error_return("FAQ 고유키값이 없습니다.", 400);
$this->db->where('bca_idx', $bca_idx);
$result = $this->db->delete('board_category');
$this->response(array('result'=>$result), 200);
}
/**
* 카테고리 순서 정렬
*/
function category_sort_post()
{
$this->load->model('board_model');
$brd_key = $this->post('brd_key', TRUE);
$idxs = $this->post('idxs', TRUE);
$update_array = array();
foreach($idxs as $i=>$idx)
{
$update_array[] = array(
'bca_idx' => $idx,
'bca_sort' => $i+1
);
}
$this->db->update_batch("board_category", $update_array, "bca_idx");
$this->board_model->delete_cache($brd_key);
}
function category_count_get()
{
$bca_idx = $this->get('bca_idx', TRUE);
if( empty($bca_idx) ) $this->error_return("카테고리 지정이 잘못되었습니다.", 400);
$count = (int) $this->db->select('COUNT(*) AS count')->where('bca_parent', $bca_idx)->get('board_category')->row(0)->count;
$this->response(array("result"=>$count), 200);
}
function category_post_count_get()
{
$bca_idx = $this->get('bca_idx', TRUE);
if( empty($bca_idx) ) $this->error_return("카테고리 지정이 잘못되었습니다.", 400);
$count = (int) $this->db->select('COUNT(*) AS count')->where('bca_idx', $bca_idx)->where_in('post_status',array('Y','B'))->get('board_post')->row(0)->count;
$this->response(array("result"=>$count), 200);
}
/** /**
* 게시물 삭제 * 게시물 삭제
*/ */

31
wheeparam/application/helpers/widgets_helper.php

@ -71,7 +71,7 @@ function latest($skin_name="", $brd_key="", $rows=5, $get_thumb_img=FALSE, $file
* @param int $cache_time 캐시 저장시간 * @param int $cache_time 캐시 저장시간
* @return string * @return string
*/ */
function latest_multi($skin_name="", $except_brd_key=array(), $rows=5, $get_thumb_img=FALSE, $file_list=FALSE, $cache_time=1)
function latest_multi($skin_name="", $except_brd_key=array(), $rows=5, $get_thumb_img=FALSE, $cache_time=1)
{ {
$CI =& get_instance(); $CI =& get_instance();
@ -85,34 +85,31 @@ function latest_multi($skin_name="", $except_brd_key=array(), $rows=5, $get_thum
$cache_name = "board-multiples-{$rows}-".($get_thumb_img ? 'thumb' : 'nothumb'); $cache_name = "board-multiples-{$rows}-".($get_thumb_img ? 'thumb' : 'nothumb');
$CI->load->model('board_model');
$CI->load->library('boardlib');
if( ! $data['list'] = $CI->cache->get($cache_name) ) { if( ! $data['list'] = $CI->cache->get($cache_name) ) {
// 일반 글 목록 가져오기 // 일반 글 목록 가져오기
$param['select'] = "P.*, PC.bca_name, B.brd_title";
if(is_array($except_brd_key) && count($except_brd_key) > 0) if(is_array($except_brd_key) && count($except_brd_key) > 0)
{ {
foreach( $except_brd_key as $brd_key ) { foreach( $except_brd_key as $brd_key ) {
$param['where']['P.brd_key !='] = $brd_key;
$CI->db->where('P.brd_key !=', $brd_key);
} }
} }
$param['where_in']['post_status'] = array('Y','B');
$param['order_by'] = "post_num DESC, post_reply ASC, post_idx ASC";
$param['from'] = "board_post AS P";
$param['join'][] = array("board_category AS PC","PC.bca_idx=P.bca_idx","left");
$param['join'][] = array("board AS B","B.brd_key=P.brd_key","inner");
$param['limit'] = TRUE;
$param['where']['post_notice'] = "N";
$param['page_rows'] = $rows;
$param['page'] = 1;
$CI->db
->select("P.*, PC.bca_name, B.brd_title")
->where('post_status','Y')
->where('post_notice', 'N')
->order_by('post_num DESC, post_reply ASC, post_idx ASC')
->from('board_post AS P')
->join("board AS B","B.brd_key=P.brd_key","inner")
->limit($rows);
$post_list = $CI->board_model->get_list($param);
$post_list['list'] = $CI->db->get()->result_array();
foreach($post_list['list'] as &$row) foreach($post_list['list'] as &$row)
{ {
$board = $CI->board_model->get_board($row['brd_key'], FALSE);
$row = $CI->board_model->post_process($board, $row, "", $file_list, $get_thumb_img);
$row = $CI->boardlib->post_process($row['brd_key'], $row, "", FALSE);
} }
$data['list'] = $post_list['list']; $data['list'] = $post_list['list'];
@ -122,8 +119,6 @@ function latest_multi($skin_name="", $except_brd_key=array(), $rows=5, $get_thum
} }
} }
$data['brd_key'] = $brd_key;
// 스킨 불러오기 // 스킨 불러오기
$skin = $CI->load->view( DIR_SKIN . DIRECTORY_SEPARATOR . 'latest'. DIRECTORY_SEPARATOR . $skin_name . DIRECTORY_SEPARATOR . "skin.php", $data, TRUE ); $skin = $CI->load->view( DIR_SKIN . DIRECTORY_SEPARATOR . 'latest'. DIRECTORY_SEPARATOR . $skin_name . DIRECTORY_SEPARATOR . "skin.php", $data, TRUE );

10
wheeparam/application/models/Search_model.php

@ -22,7 +22,7 @@ class Search_model extends WB_Model
foreach( $search_array as $st ) foreach( $search_array as $st )
{ {
$this->db->like("post_title", trim($st)); $this->db->like("post_title", trim($st));
$this->db->or_like("mem_nickname", trim($st));
$this->db->or_like("post_nickname", trim($st));
//$this->db->or_like("post_content", trim($st)); //$this->db->or_like("post_content", trim($st));
} }
$this->db->group_end(); $this->db->group_end();
@ -42,12 +42,12 @@ class Search_model extends WB_Model
$result = $this->db->get(); $result = $this->db->get();
$list = $result->result_array(); $list = $result->result_array();
$this->load->model('board_model');
$this->load->library('boardlib');
foreach($list as &$row) foreach($list as &$row)
{ {
$b = $this->board_model->get_board($row['brd_key']);
$row = $this->board_model->post_process($b, $row, '', TRUE, TRUE);
$b = $this->boardlib->get($row['brd_key']);
$row = $this->boardlib->post_process($b, $row, '', TRUE, TRUE);
} }
return $list; return $list;
@ -68,7 +68,7 @@ class Search_model extends WB_Model
foreach($search_array as $st) foreach($search_array as $st)
{ {
$this->db->like("post_title", trim($st)); $this->db->like("post_title", trim($st));
$this->db->or_like("mem_nickname", trim($st));
$this->db->or_like("post_nickname", trim($st));
//$this->db->or_like("post_content", trim($st)); //$this->db->or_like("post_content", trim($st));
} }
$this->db->group_by("board_post.brd_key"); $this->db->group_by("board_post.brd_key");

Loading…
Cancel
Save