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

66 lines
2.8 KiB

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Search extends WB_Controller
{
/**
* 검색 결과 페이지
*/
public function index()
{
// 검색어를 가져온다.
$this->data['query'] = trim($this->input->get('query', TRUE));
// 검색어에 공백이 두개 들어가있다면, 하나로 줄인다.
$this->data['query'] = str_replace(" "," ", $this->data['query']);
// 검색어가 비어있는지 체크
if( empty($this->data['query']) )
{
alert(langs('공통/search/search_txt_empty', FALSE));
exit;
}
// 어느검색인지 (통합/board)
$this->data['board_key'] = $this->input->get('board_key', TRUE, "total");
$this->data['page'] = $this->input->get('page', TRUE, 1);
if( empty($this->data['board_key']) OR $this->data['board_key'] == 'total' ) {
$this->data['page'] = 1;
}
// 검색결과와 각 카테고리별 검색수를 가져온다.
$this->load->model('search_model');
$this->data['search_result'] = $this->search_model->search_result( $this->data['query'], $this->data['board_key'], $this->data['page'] );
// 검색어를 DB에 저장한다.
$this->db->set('sea_query', $this->data['query'])->set('sea_regtime',date('Y-m-d H:i:s'))->insert("search");
// 3개월 이상 된 검색어를 삭제한다.
$this->db->where("sea_regtime < DATE_ADD(CURDATE(), INTERVAL '-3' MONTH)",NULL,FALSE)->delete('search');
// 상세 검색일경우 페이지네이션 세팅
$this->data['pagination'] = "";
if( ! empty($this->data['board_key']) && $this->data['board_key'] != 'total' ) {
$paging_config['page'] = $this->data['page'];
$paging_config['total_rows'] = (int) $this->data['search_result']['count'][ $this->data['board_key'] ];
$paging_config['page_rows'] = 5;
$paging_config['fixed_page_num'] = 10;
$this->load->library('paging');
$this->paging->initialize( $paging_config);
$this->data['pagination'] = $this->paging->create();
}
// 메타태그 설정
$this->site->meta_title = "[{$this->data['query']}] ". langs('공통/search/search_result', FALSE);; // 이 페이지의 타이틀
// $this->site->meta_description = ""; // 이 페이지의 요약 설명
// $this->site->meta_keywords = ""; // 이 페이지에서 추가할 키워드 메타 태그
// $this->site->meta_image = ""; // 이 페이지에서 표시할 대표이미지
// 레이아웃 & 뷰파일 설정
$this->theme = $this->site->get_layout();
$this->view = "search/index";
}
}