示例#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);
 }