Ejemplo n.º 1
0
 function postDetail($url)
 {
     $typeNameNone = $this->uri->segment(1, "");
     $type = new Estatetype();
     $type->where('name_none', $typeNameNone)->get();
     if ($type->exists()) {
         show_404();
     }
     $cate = new Estatecatalogue();
     $cate->where('name_none', $this->uri->segment(1, ''))->get();
     if (!$cate->exists()) {
         show_404();
     }
     $dis['cate'] = $cate;
     $url = geturlfromuri($this->uri->segment(3));
     $estate = new Estate();
     $estate->where('title_none', $url);
     $estate->where_related_estatecatalogue('id', $cate->id);
     $estate->where('active', 0);
     $estate->get();
     if (!$estate->exists()) {
         redirect(base_url() . $this->uri->segment(1, '') . '-' . $this->uri->segment(2, ''));
         die;
     }
     $dis['o'] = $estate;
     $photo = new Estate_photo();
     $photo->where('estate_id', $estate->id);
     $photo->get_iterated();
     $dis['photo'] = $photo;
     $tag = $estate->tag;
     $dis['tag'] = explode(',', $tag);
     $description = str_replace(array("\r", "\n"), '', strip_tags($estate->description));
     $keyword = explode(' ', $estate->title);
     $this->page_title = $estate->title . ' | SotayNhadat.vn';
     $this->page_description = cut_string($description, 180);
     $this->page_keyword = implode(', ', $keyword);
     /*Get estate related vip*/
     $estates_vip = new Estate();
     $estates_vip->where('id !=', $estate->id);
     $estates_vip->where('estatetype_id', $estate->estatetype_id);
     $estates_vip->where('estatecity_id', $estate->estatecity_id);
     $estates_vip->where('estateprice_id', $estate->estateprice_id);
     $estates_vip->where('isVip', 1);
     $estates_vip->where('active', 0);
     $estates_vip->order_by('created', 'desc');
     $estates_vip->get(10);
     $count_vip = $estates_vip->result_count();
     $dis['estates_vip'] = $estates_vip;
     /*Get estate related follow type, city and price*/
     $estates_related_type_city_area = new Estate();
     $estates_related_type_city_area->where('id !=', $estate->id);
     $estates_related_type_city_area->where('estatetype_id', $estate->estatetype_id);
     $estates_related_type_city_area->where('estatecity_id', $estate->estatecity_id);
     $estates_related_type_city_area->where('estateprice_id', $estate->estateprice_id);
     $estates_related_type_city_area->where('isVip', 0);
     $estates_related_type_city_area->where('active', 0);
     $estates_related_type_city_area->order_by('created', 'desc');
     $estates_related_type_city_area->get(10 - $count_vip);
     $dis['estates_related_type_city_area'] = $estates_related_type_city_area;
     $count_type_city_area = $estates_related_type_city_area->result_count();
     /*Get all id estate*/
     $list_estates_id = array(0);
     foreach ($estates_related_type_city_area as $row) {
         array_push($list_estates_id, $row->id);
     }
     /*Get estate related follow type, city and area*/
     if (10 - $count_vip - $count_type_city_area > 0) {
         /*If count more than 10*/
         $estates_related_area_price = new Estate();
         $estates_related_area_price->where('estatetype_id', $estate->estatetype_id);
         $estates_related_area_price->where('estatearea_id', $estate->estatearea_id);
         $estates_related_area_price->where('estatecity_id', $estate->estatecity_id);
         $estates_related_area_price->where_not_in('id', $list_estates_id);
         $estates_related_area_price->where('isVip', 0);
         $estates_related_area_price->where('active', 0);
         $estates_related_area_price->order_by('created', 'desc');
         $estates_related_area_price->get(10 - $count_vip - $count_type_city_area);
         //$dis['estates_related_area_price'] = $estates_related_area_price;
     }
     //$limit_lv3 = $estates_related_area_price->result_count()==$limit_lv2?0:$limit_lv2-$estates_related_area_price->result_count();
     foreach ($estates_related_area_price as $row) {
         array_push($list_estates_id, $row->id);
     }
     $estates_related_new = new Estate();
     $estates_related_new->where('estatetype_id', $estate->estatetype_id);
     $estates_related_new->where('estatearea_id', $estate->estatearea_id);
     $estates_related_new->where('estatecity_id', $estate->estatecity_id);
     $estates_related_new->where('estateprice_id', $estate->estateprice_id);
     $estates_related_new->where_not_in('id', $list_estates_id);
     $estates_related_new->where('active', 0);
     $estates_related_new->order_by('created', 'desc');
     $estates_related_new->get($limit_lv3);
     $dis['estates_related_new'] = $estates_related_new;
     $estates_related_price = new Estate();
     $estates_related_price->where('estateprice_id', $estate->estateprice_id);
     $estates_related_price->where('estatecity_id', $estate->estatecity_id);
     $estates_related_price->where('id !=', $estate->id);
     $estates_related_price->where('active', 0);
     $estates_related_price->order_by('created', 'desc');
     $estates_related_price->get(10);
     $dis['estates_related_price'] = $estates_related_price;
     $estatePrices = new Estateprice();
     $estatePrices->where('estatecatalogue_id', $estate->estatecatalogue_id);
     $estatePrices->order_by('position', 'asc');
     $estatePrices->get_iterated();
     $dis['estatePrices'] = $estatePrices;
     $this->isRobotFollow = 3;
     $dis['base_url'] = base_url();
     $dis['view'] = 'front/user/post-detail';
     $this->viewfront($dis);
 }
Ejemplo n.º 2
0
 function estateByTypeCity()
 {
     $typeUrl = $this->uri->segment(1, '');
     $cityUrl = $this->uri->segment(2, '');
     $type = new Estatetype();
     $type->where('name_none', $typeUrl)->get();
     if (!$type->exists()) {
         show_404();
     }
     $dis['type'] = $type;
     $city = new Estatecity();
     $city->where('name_none', $cityUrl)->get();
     if (!$city->exists()) {
         show_404();
     }
     $dis['city'] = $city;
     $level = 2;
     $page = $this->uri->segment($level + 1, "") == "" ? 1 : $this->uri->segment($level + 1);
     $dis['page'] = $page;
     $limit = 20;
     $offset = ($page - 1) * $limit;
     /*get estates by type and city*/
     $estates = new Estate();
     $estates->order_by('isVip', 'desc');
     $estates->order_by('created', 'desc');
     $estates->where('estatecity_id', $city->id);
     $estates->where('estatetype_id', $type->id);
     $estates->where(array('active' => 0, 'isFree' => 0));
     $estates->get_paged($offset, $limit, TRUE);
     $dis['estates'] = $estates;
     /*get estates by category and type*/
     $estatesAll = new Estate();
     $estatesAll->order_by('isVip', 'desc');
     $estatesAll->order_by('created', 'desc');
     $estatesAll->where('estatecity_id', $city->id);
     $estatesAll->where('estatetype_id', $type->id);
     $estatesAll->where(array('active' => 0, 'isFree' => 0));
     $estatesAll->get();
     $total = $estatesAll->result_count();
     /*Begin pagination for product*/
     $url = $this->uri->segment(1) . '/' . $this->uri->segment(2);
     $config['base_url'] = site_url($url);
     $config['total_rows'] = $total;
     $config['per_page'] = $limit;
     $config['use_page_numbers'] = TRUE;
     $config['uri_segment'] = 3;
     $config['num_links'] = 3;
     $config['full_tag_open'] = '<div class="news-pagination">';
     $config['full_tag_close'] = "</div>";
     $config['first_link'] = FALSE;
     $config['first_tag_open'] = '';
     $config['first_tag_close'] = '';
     $config['last_link'] = FALSE;
     $config['last_tag_open'] = '';
     $config['last_tag_close'] = '';
     $config['next_link'] = '>';
     $config['next_tag_open'] = '';
     $config['next_tag_close'] = '';
     $config['prev_link'] = '<';
     $config['prev_tag_open'] = '';
     $config['prev_tag_close'] = '';
     $config['num_tag_open'] = '';
     $config['num_tag_close'] = '';
     $config['cur_tag_open'] = '<span class="active">';
     $config['cur_tag_close'] = '</span>';
     $this->pagination->initialize($config);
     /*End pagination for product*/
     $this->page_title = $type->name . ' ' . $city->name . ' | ' . $type->name . ' tại ' . $city->name;
     $this->page_description = $type->name . ' tại ' . $city->name . ' với nhiều mức giá, diện tích, hướng, vị trí khác nhau. ' . $type->name . ' ' . $city->name . ' 2015, 2016 mới nhất, cập nhật liên tục...';
     $keyword = explode(" ", $this->page_title);
     $this->page_keyword = str_replace('|,', '', implode(',', $keyword));
     $this->isRobotFollow = 3;
     $dis['base_url'] = base_url();
     $dis['view'] = 'front/estates/by_type_and_city';
     $this->viewfront($dis);
 }