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.

65 lines
2.8 KiB

7 years ago
  1. <?php
  2. defined('BASEPATH') OR exit('No direct script access allowed');
  3. class Search extends WB_Controller
  4. {
  5. /**
  6. * 검색 결과 페이지
  7. */
  8. public function index()
  9. {
  10. // 검색어를 가져온다.
  11. $this->data['query'] = trim($this->input->get('query', TRUE));
  12. // 검색어에 공백이 두개 들어가있다면, 하나로 줄인다.
  13. $this->data['query'] = str_replace(" "," ", $this->data['query']);
  14. // 검색어가 비어있는지 체크
  15. if( empty($this->data['query']) )
  16. {
  17. alert(langs('공통/search/search_txt_empty', FALSE));
  18. exit;
  19. }
  20. // 어느검색인지 (통합/board)
  21. $this->data['board_key'] = $this->input->get('board_key', TRUE, "total");
  22. $this->data['page'] = $this->input->get('page', TRUE, 1);
  23. if( empty($this->data['board_key']) OR $this->data['board_key'] == 'total' ) {
  24. $this->data['page'] = 1;
  25. }
  26. // 검색결과와 각 카테고리별 검색수를 가져온다.
  27. $this->load->model('search_model');
  28. $this->data['search_result'] = $this->search_model->search_result( $this->data['query'], $this->data['board_key'], $this->data['page'] );
  29. // 검색어를 DB에 저장한다.
  30. $this->db->set('sea_query', $this->data['query'])->set('sea_regtime',date('Y-m-d H:i:s'))->insert("search");
  31. // 3개월 이상 된 검색어를 삭제한다.
  32. $this->db->where("sea_regtime < DATE_ADD(CURDATE(), INTERVAL '-3' MONTH)",NULL,FALSE)->delete('search');
  33. // 상세 검색일경우 페이지네이션 세팅
  34. $this->data['pagination'] = "";
  35. if( ! empty($this->data['board_key']) && $this->data['board_key'] != 'total' ) {
  36. $paging_config['page'] = $this->data['page'];
  37. $paging_config['total_rows'] = (int) $this->data['search_result']['count'][ $this->data['board_key'] ];
  38. $paging_config['page_rows'] = 5;
  39. $paging_config['fixed_page_num'] = 10;
  40. $this->load->library('paging');
  41. $this->paging->initialize( $paging_config);
  42. $this->data['pagination'] = $this->paging->create();
  43. }
  44. // 메타태그 설정
  45. $this->site->meta_title = "[{$this->data['query']}] ". langs('공통/search/search_result', FALSE);; // 이 페이지의 타이틀
  46. // $this->site->meta_description = ""; // 이 페이지의 요약 설명
  47. // $this->site->meta_keywords = ""; // 이 페이지에서 추가할 키워드 메타 태그
  48. // $this->site->meta_image = ""; // 이 페이지에서 표시할 대표이미지
  49. // 레이아웃 & 뷰파일 설정
  50. $this->theme = $this->site->get_layout();
  51. $this->view = "search/index";
  52. }
  53. }