Example #1
0
 /**
  * Cnews::dosearch()
  * 
  * @param string $st
  * @param integer $offset
  * @param integer $limit
  * @return
  */
 function dosearch($st = "", $offset = 0, $limit = 5)
 {
     $this->load->helper('text');
     $separate = "aaaaaaa23423dddeeeeee838234eeeeefffffff99923ffffffsdfsdfsdfsdf";
     $sep = "239847293dlkfaslf::sdflksdf::sdkfjsldf";
     $this->load->helper('remove_vn');
     $logged_role = $this->logged_in_user->adminrole->id;
     if ($_SERVER['REQUEST_METHOD'] == "GET") {
         $key_list = explode($sep, $st);
         $news = new article();
         if ($key_list[0] != $separate) {
             $news->like('title_vietnamese', $key_list[0]);
         }
         if ($key_list[1] != $separate) {
             $news->where('newscatalogue_id', $key_list[1]);
         } else {
             $news->where_related_newscatalogue('parentcat_id', 7);
         }
         if ($key_list[2] != $separate) {
             $news->where('created >', $key_list[2]);
             $news->where('created <', $key_list[3]);
         }
         if ($key_list[4] != 3) {
             $news->where('active', $key_list[4]);
         }
         if ($key_list[5] != 3) {
             $news->where('hot', $key_list[5]);
         }
         if ($key_list[6] != 3) {
             $news->where('home_hot', $key_list[6]);
         }
         $news->where('recycle', $key_list[7]);
         //arrange by
         switch ($key_list[8]) {
             case "thoigian":
                 $news->order_by('id', $key_list[9]);
                 break;
             case "docnhieu":
                 $news->order_by('view_count', $key_list[9]);
                 break;
         }
         $news->get_paged($offset, $key_list[10], TRUE);
         //       $this->firephp->log($news->check_last_query());
         setPagination($this->admin . 'cnews/dosearch/' . $st, $news->paged->total_rows, $key_list[10], 5);
         $dis['base_url'] = base_url();
         $dis['view'] = 'news/search';
         $dis['news'] = $news;
         $dis['search_result'] = 1;
         $dis['menu_active'] = "Tìm kiếm";
         $dis['title_table'] = "Trang hiện tại:" . $news->paged->current_page . '/' . $news->paged->total_pages;
         $dis['title'] = "Kết quả tìm kiếm";
         $dis['searchkey'] = $key_list[0] != $separate ? $key_list[0] : "";
         $dis['catalogue_id'] = $key_list[1];
         $dis['date_start'] = $key_list[2] != $separate ? $key_list[2] : "";
         $dis['date_end'] = $key_list[3] != $separate ? $key_list[3] : "";
         $dis['active'] = $key_list[4];
         $dis['hot_cat'] = $key_list[5];
         $dis['hot_home'] = $key_list[6];
         $dis['recycle'] = $key_list[7];
         $dis['arrange_by'] = $key_list[8];
         $dis['arrange_direct'] = $key_list[9];
         $dis['showperpage'] = $key_list[10];
         $newscatalogue = new Newscatalogue();
         $newscatalogue->where('parentcat_id', 7);
         $newscatalogue->order_by('position', 'asc');
         $newscatalogue->get();
         $dis['newscatalogue'] = $newscatalogue;
         $this->viewadmin($dis);
     } else {
         $searchkey = trim($this->input->post('searchkey'));
         $catalogue_id = $this->input->post('newscatalogue');
         $date_start = $this->input->post('date_start');
         $date_end = $this->input->post('date_end');
         $active = $this->input->post('active');
         $hot_cat = $this->input->post('hot_cat');
         $hot_home = $this->input->post('hot_home');
         $arrange_by = $this->input->post('arrange_by');
         $arrange_direct = $this->input->post('arrange_direct');
         $showperpage = $this->input->post('showperpage');
         $recycle = $this->input->post('recycle') == 1 ? $this->input->post('recycle') : 0;
         //create string uri query
         $search_string = "";
         $search_string .= $searchkey == "" ? $separate : $searchkey;
         $search_string .= $sep . ($catalogue_id ? $catalogue_id : $separate);
         $search_string .= $sep . ($date_start != "" ? $date_start : $separate);
         $search_string .= $sep . ($date_end != "" ? $date_end : $separate);
         $search_string .= $sep . $active;
         $search_string .= $sep . $hot_cat;
         $search_string .= $sep . $hot_home;
         $search_string .= $sep . $recycle;
         $search_string .= $sep . $arrange_by;
         $search_string .= $sep . $arrange_direct;
         $search_string .= $sep . $showperpage;
         $this->firephp->log($search_string);
         redirect($this->admin . 'cnews/dosearch/' . $search_string . '/0/' . $showperpage);
     }
 }