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); }
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); }