Esempio n. 1
0
 /**
  * 录入
  *
  */
 public function actionCreate()
 {
     parent::_acl('investType_create');
     $model = new InvestType();
     if (isset($_POST['InvestType'])) {
         $model->attributes = $_POST['InvestType'];
         if ($model->save()) {
             AdminLogger::_create(array('catalog' => 'create', 'intro' => '录入投资类型,ID:' . $model->id));
             $this->redirect(array('index'));
         }
     }
     $this->render('create', array('model' => $model));
 }
Esempio n. 2
0
 public function run()
 {
     $city = City::model()->findAll();
     $type = InvestType::model()->findAll();
     $aim = InvestAim::model()->findAll();
     $data = array('city' => $city, 'type' => $type, 'aim' => $aim);
     $this->render('evaluate', $data);
 }
Esempio n. 3
0
 /**
  * 房源列表
  */
 public function actionIndex()
 {
     Yii::app()->clientScript->registerCssFile(Yii::app()->theme->baseUrl . '/css/house.css');
     $city_id = Yii::app()->request->getQuery('cd1', 0);
     $district_id = Yii::app()->request->getQuery('cd2', 0);
     $investType_id = Yii::app()->request->getQuery('cd3', 0);
     $propertyType_id = Yii::app()->request->getQuery('cd4', 0);
     $total_price = Yii::app()->request->getQuery('cd5', 0);
     $house_area = Yii::app()->request->getQuery('cd6', 0);
     $land_area = Yii::app()->request->getQuery('cd7', 0);
     $bedroom_num = Yii::app()->request->getQuery('cd8', 0);
     $construction_year = Yii::app()->request->getQuery('cd9', 0);
     $prop_featx_out = Yii::app()->request->getQuery('cd10', 0);
     $prop_featx_out2 = Yii::app()->request->getQuery('cd11', 0);
     $prop_featx_out3 = Yii::app()->request->getQuery('cd12', 0);
     $bath_tot = Yii::app()->request->getQuery('cd13', 0);
     $style = Yii::app()->request->getQuery('cd14', 0);
     $comp_pts = Yii::app()->request->getQuery('cd15', 0);
     $gar_spaces = Yii::app()->request->getQuery('cd16', 0);
     $bsmt1_out = Yii::app()->request->getQuery('cd17', 0);
     $pool = Yii::app()->request->getQuery('cd18', 0);
     $time_sort = Yii::app()->request->getQuery('time_sort', 'DESC');
     $price_sort = Yii::app()->request->getQuery('price_sort');
     $diy_word = null;
     $city_list = City::model()->findAll(array('order' => 'id ASC'));
     if (!empty($city_id)) {
         $district_list = District::model()->findAll('city_id=:city_id', array(':city_id' => $city_id));
     } else {
         $district_list = District::model()->findAll();
     }
     $investType_list = InvestType::model()->findAll();
     $propertyType_list = PropertyType::model()->findAll();
     //按搜索条件查询房源信息
     $criteria = new CDbCriteria();
     //省份
     if (!empty($city_id)) {
         $criteria->addCondition('area!=""');
     }
     //地区
     if (!empty($district_id)) {
         if ($district_id == 1) {
             $criteria->addCondition('area="Toronto"');
         } elseif ($district_id == 2) {
             $criteria->addCondition('area="Durham"');
         } elseif ($district_id == 3) {
             $criteria->addCondition('area="Peel"');
         } elseif ($district_id == 4) {
             $criteria->addCondition('area="Halton"');
         } elseif ($district_id == 5) {
             $criteria->addCondition('area="York"');
         }
     }
     //挂牌时间
     if (!empty($investType_id)) {
         if ($investType_id == 1) {
             //查询一周数据
             $criteria->addCondition('DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(pix_updt)');
         } elseif ($investType_id == 2) {
             //查询一月数据
             $criteria->addCondition('DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(pix_updt)');
         } elseif ($investType_id == 3) {
             //查询三月数据
             $criteria->addCondition('DATE_SUB(CURDATE(), INTERVAL 90 DAY) <= date(pix_updt)');
         }
     }
     if (!empty($prop_featx_out)) {
         if ($prop_featx_out == 1) {
             $criteria->addCondition('prop_feat1_out like "%Waterfront%" or prop_feat2_out like "%Waterfront%" or prop_feat3_out like "%Waterfront%" or prop_feat4_out like "%Waterfront%" or prop_feat5_out like "%Waterfront%" or prop_feat6_out like "%Waterfront%" ');
         } elseif ($prop_featx_out == 2) {
             $criteria->addCondition('prop_feat1_out like "%Pond%" or prop_feat2_out like "%Pond%" or prop_feat3_out like "%Pond%" or prop_feat4_out like "%Pond%" or prop_feat5_out like "%Pond%" or prop_feat6_out like "%Pond%" ');
         } elseif ($prop_featx_out == 3) {
             $criteria->addCondition('prop_feat1_out like "%Stream%" or prop_feat2_out like "%Stream%" or prop_feat3_out like "%Stream%" or prop_feat4_out like "%Stream%" or prop_feat5_out like "%Stream%" or prop_feat6_out like "%Stream%" ');
         } elseif ($prop_featx_out == 4) {
             $criteria->addCondition('prop_feat1_out like "%River%" or prop_feat2_out like "%River%" or prop_feat3_out like "%River%" or prop_feat4_out like "%River%" or prop_feat5_out like "%River%" or prop_feat6_out like "%River%" ');
         } elseif ($prop_featx_out == 5) {
             $criteria->addCondition('prop_feat1_out like "%Lake%" or prop_feat2_out like "%Lake%" or prop_feat3_out like "%Lake%" or prop_feat4_out like "%Lake%" or prop_feat5_out like "%Lake%" or prop_feat6_out like "%Lake%" ');
         } elseif ($prop_featx_out == 6) {
             $criteria->addCondition('prop_feat1_out like "%Marina%" or prop_feat2_out like "%Marina%" or prop_feat3_out like "%Marina%" or prop_feat4_out like "%Marina%" or prop_feat5_out like "%Marina%" or prop_feat6_out like "%Marina%" ');
         }
     }
     if (!empty($prop_featx_out2)) {
         if ($prop_featx_out2 == 1) {
             $criteria->addCondition('prop_feat1_out like "%Treed%" or prop_feat2_out like "%Treed%" or prop_feat3_out like "%Treed%" or prop_feat4_out like "%Treed%" or prop_feat5_out like "%Treed%" or prop_feat6_out like "%Treed%" ');
         } elseif ($prop_featx_out2 == 2) {
             $criteria->addCondition('prop_feat1_out like "%Wooded%" or prop_feat2_out like "%Wooded%" or prop_feat3_out like "%Wooded%" or prop_feat4_out like "%Wooded%" or prop_feat5_out like "%Wooded%" or prop_feat6_out like "%Wooded%" ');
         } elseif ($prop_featx_out2 == 3) {
             $criteria->addCondition('prop_feat1_out like "%Grnbelt%" or prop_feat2_out like "%Grnbelt%" or prop_feat3_out like "%Grnbelt%" or prop_feat4_out like "%Grnbelt%" or prop_feat5_out like "%Grnbelt%" or prop_feat6_out like "%Grnbelt%" ');
         } elseif ($prop_featx_out2 == 4) {
             $criteria->addCondition('prop_feat1_out like "%Conserv%" or prop_feat2_out like "%Conserv%" or prop_feat3_out like "%Conserv%" or prop_feat4_out like "%Conserv%" or prop_feat5_out like "%Conserv%" or prop_feat6_out like "%Conserv%" ');
         } elseif ($prop_featx_out2 == 5) {
             $criteria->addCondition('prop_feat1_out like "%Ravine%" or prop_feat2_out like "%Ravine%" or prop_feat3_out like "%Ravine%" or prop_feat4_out like "%Ravine%" or prop_feat5_out like "%Ravine%" or prop_feat6_out like "%Ravine%" ');
         }
     }
     //
     if (!empty($prop_featx_out3)) {
         if ($prop_featx_out3 == 1) {
             $criteria->addCondition('prop_feat1_out like "%School%" or prop_feat2_out like "%School%" or prop_feat3_out like "%School%" or prop_feat4_out like "%School%" or prop_feat5_out like "%School%" or prop_feat6_out like "%School%" ');
         } elseif ($prop_featx_out3 == 2) {
             $criteria->addCondition('prop_feat1_out like "%Hospital%" or prop_feat2_out like "%Hospital%" or prop_feat3_out like "%Hospital%" or prop_feat4_out like "%Hospital%" or prop_feat5_out like "%Hospital%" or prop_feat6_out like "%Hospital%" ');
         } elseif ($prop_featx_out3 == 3) {
             $criteria->addCondition('prop_feat1_out like "%Public Transit%" or prop_feat2_out like "%Public Transit%" or prop_feat3_out like "%Public Transit%" or prop_feat4_out like "%Public Transit%" or prop_feat5_out like "%Public Transit%" or prop_feat6_out like "%Public Transit%" ');
         } elseif ($prop_featx_out3 == 4) {
             $criteria->addCondition('prop_feat1_out like "%Park%" or prop_feat2_out like "%Park%" or prop_feat3_out like "%Park%" or prop_feat4_out like "%Park%" or prop_feat5_out like "%Park%" or prop_feat6_out like "%Park%" ');
         } elseif ($prop_featx_out3 == 5) {
             $criteria->addCondition('prop_feat1_out like "%Golf%" or prop_feat2_out like "%Golf%" or prop_feat3_out like "%Golf%" or prop_feat4_out like "%Golf%" or prop_feat5_out like "%Golf%" or prop_feat6_out like "%Golf%" ');
         } elseif ($prop_featx_out3 == 6) {
             $criteria->addCondition('prop_feat1_out like "%Library%" or prop_feat2_out like "%Library%" or prop_feat3_out like "%Library%" or prop_feat4_out like "%Library%" or prop_feat5_out like "%Library%" or prop_feat6_out like "%Library%" ');
         }
     }
     //物业类型
     if (!empty($propertyType_id)) {
         $criteria->addCondition('propertyType_id="' . $propertyType_id . '"');
         //if($propertyType_id==1){
         //$criteria->addCondition('type_own1_out="Detached"');
         //}
         //elseif($propertyType_id==2){
         //$criteria->addCondition('type_own1_out="Townhouse" or type_own1_out="Att∕Row∕Twnhouse" or type_own1_out="Triplex" or type_own1_out="Fourplex" or type_own1_out="Multiplex"');
         //}
         //elseif($propertyType_id==3){
         //$criteria->addCondition('lp_dol>3000000');
         //}
         //elseif($propertyType_id==4){
         //$criteria->addCondition('type_own1_out="Semi-Detached" or type_own1_out="Link" or type_own1_out="Duplex"');
         //}
         //elseif($propertyType_id==5){
         //$criteria->addCondition('type_own1_out="Cottage" or type_own1_out="Rural Resid"');
         //}
         //elseif($propertyType_id==6){
         //$criteria->addCondition('type_own1_out="Farm"');
         //}
         //elseif($propertyType_id==7){
         //$criteria->addCondition('type_own1_out="Vacant Land"');
         //}
         //elseif($propertyType_id==8){
         //$criteria->addCondition('type_own1_out="Mobile/Trailer" or type_own1_out="Det W/Com Elements" or type_own1_out="Store W/Apt/offc"');
         //}
     }
     //挂牌价格
     if (!empty($total_price)) {
         if ($total_price == 1) {
             $criteria->addCondition('lp_dol<300000');
         } elseif ($total_price == 2) {
             $criteria->addCondition('lp_dol>=300000 and lp_dol<500000');
         } elseif ($total_price == 3) {
             $criteria->addCondition('lp_dol>500000 and lp_dol<1000000');
         } elseif ($total_price == 4) {
             $criteria->addCondition('lp_dol>1000000 and lp_dol<1500000');
         } elseif ($total_price == 5) {
             $criteria->addCondition('lp_dol>1500000 and lp_dol<3000000');
         } elseif ($total_price == 6) {
             $criteria->addCondition('lp_dol>3000000');
         }
     }
     //房屋面积
     if (!empty($house_area)) {
         if ($house_area == 1) {
             $criteria->addCondition('sqft<700');
         } elseif ($house_area == 2) {
             $criteria->addCondition('sqft>700 and sqft<1100');
         } elseif ($house_area == 3) {
             $criteria->addCondition('sqft>1100 and sqft<1500');
         } elseif ($house_area == 4) {
             $criteria->addCondition('sqft>1500 and sqft<2000');
         } elseif ($house_area == 5) {
             $criteria->addCondition('sqft>2000 and sqft<2500');
         } elseif ($house_area == 6) {
             $criteria->addCondition('sqft>2500 and sqft<3000');
         } elseif ($house_area == 7) {
             $criteria->addCondition('sqft>3000 and sqft<3500');
         } elseif ($house_area == 8) {
             $criteria->addCondition('sqft>3500 and sqft<4000');
         } elseif ($house_area == 9) {
             $criteria->addCondition('sqft>4000');
         }
     }
     //土地面积
     if (!empty($land_area)) {
         if ($land_area == 1) {
             $criteria->addCondition('depth*front_ft<1000');
         } elseif ($land_area == 2) {
             $criteria->addCondition('depth*front_ft>=1000 and depth*front_ft<2000');
         } elseif ($land_area == 3) {
             $criteria->addCondition('depth*front_ft>=2000 and depth*front_ft<3000');
         } elseif ($land_area == 4) {
             $criteria->addCondition('depth*front_ft>=3000 and depth*front_ft<4000');
         } elseif ($land_area == 5) {
             $criteria->addCondition('depth*front_ft>=4000 and depth*front_ft<5000');
         } elseif ($land_area == 6) {
             $criteria->addCondition('depth*front_ft>=5000 and depth*front_ft<6000');
         } elseif ($land_area == 7) {
             $criteria->addCondition('depth*front_ft>6000');
         }
     }
     if (!empty($bedroom_num)) {
         if ($bedroom_num <= 5) {
             $criteria->addCondition('br=' . $bedroom_num);
         } else {
             $criteria->addCondition('br>=' . $bedroom_num);
         }
     }
     if (!empty($construction_year)) {
         if (!empty(self::$searchData['cd9'][$construction_year]['min'])) {
             $criteria->addCondition('yr_built>' . self::$searchData['cd9'][$construction_year]['min']);
         }
         if (!empty(self::$searchData['cd9'][$construction_year]['max'])) {
             $criteria->addCondition('yr_built<=' . self::$searchData['cd9'][$construction_year]['max']);
         }
     }
     if (!empty($bath_tot)) {
         $criteria->addCondition('bath_tot>"' . $bath_tot . '"');
     }
     if (!empty($style)) {
         if ($style == "1") {
             $criteria->addCondition('style="Bungalow" or style="Bungalow-Raised" or style="Raised-Bungalow"');
         } elseif ($style == "2") {
             $criteria->addCondition('style="1 1/2 Storey"');
         } elseif ($style == "3") {
             $criteria->addCondition('style="2-Storey"');
         } elseif ($style == "4") {
             $criteria->addCondition('style="2 1/2 Storey"');
         } elseif ($style == "5") {
             $criteria->addCondition('style="3-Storey"');
         }
     }
     if (!empty($comp_pts)) {
         if ($comp_pts == "1") {
             $criteria->addCondition('comp_pts="S"');
         } elseif ($comp_pts == "2") {
             $criteria->addCondition('comp_pts="N"');
         } elseif ($comp_pts == "3") {
             $criteria->addCondition('comp_pts="E"');
         } elseif ($comp_pts == "4") {
             $criteria->addCondition('comp_pts="W"');
         }
     }
     if (!empty($gar_spaces)) {
         $criteria->addCondition('gar_spaces >"' . $gar_spaces . '"');
     }
     if (!empty($bsmt1_out)) {
         $criteria->addCondition('bsmt1_out="' . $bsmt1_out . '"');
     }
     if (!empty($pool)) {
         if ($pool == "1") {
             $criteria->addCondition('pool="Abv" or pool="Grnd" or pool="Indoor" or pool="Inground"');
         } elseif ($pool == "2") {
             $criteria->addCondition('pool="" or pool="None"');
         }
     }
     $criteria->order = 'id DESC';
     if (!empty($time_sort)) {
         $criteria->order = 'pix_updt ' . $time_sort;
     }
     if (!empty($price_sort)) {
         $criteria->order = 'lp_dol ' . $price_sort;
     }
     $criteria->with = array('mname', 'propertyType');
     $count = House::model()->count($criteria);
     $pager = new CPagination($count);
     $pager->pageSize = 10;
     $pager->applyLimit($criteria);
     $house_list = House::model()->findAll($criteria);
     $collection_list = array();
     if ($this->_account['userId']) {
         $collect_model = Collect::model()->find('user_id=:user_id', array(':user_id' => $this->_account['userId']));
         if (!empty($collect_model)) {
             $collection_list = explode(',', $collect_model->collection);
         }
     }
     $data = array('cd1' => $city_id, 'cd2' => $district_id, 'cd3' => $investType_id, 'cd4' => $propertyType_id, 'cd5' => $total_price, 'cd6' => $house_area, 'cd7' => $land_area, 'cd8' => $bedroom_num, 'cd9' => $construction_year, 'cd10' => $prop_featx_out, 'cd11' => $prop_featx_out2, 'cd12' => $prop_featx_out3, 'cd13' => $bath_tot, 'cd14' => $style, 'cd15' => $comp_pts, 'cd16' => $gar_spaces, 'cd17' => $bsmt1_out, 'cd18' => $pool, 'time_sort' => $time_sort, 'price_sort' => $price_sort, 'diy_price' => json_encode($diy_price), 'city_list' => $city_list, 'district_list' => $district_list, 'investType_list' => $investType_list, 'propertyType_list' => $propertyType_list, 'count' => $count, 'house_list' => $house_list, 'collection_list' => $collection_list, "pages" => $pager);
     $this->render('index', $data);
 }
Esempio n. 4
0
 /**
  * 房源列表
  */
 public function actionIndex()
 {
     Yii::app()->clientScript->registerCssFile(Yii::app()->theme->baseUrl . '/css/house.css');
     $city_id = Yii::app()->request->getQuery('cd1', 0);
     $district_id = Yii::app()->request->getQuery('cd2', 0);
     $investType_id = Yii::app()->request->getQuery('cd3', 0);
     $propertyType_id = Yii::app()->request->getQuery('cd4', 0);
     $total_price = Yii::app()->request->getQuery('cd5', 0);
     $house_area = Yii::app()->request->getQuery('cd6', 0);
     $land_area = Yii::app()->request->getQuery('cd7', 0);
     $bedroom_num = Yii::app()->request->getQuery('cd8', 0);
     $construction_year = Yii::app()->request->getQuery('cd9', 0);
     $prop_featx_out = Yii::app()->request->getQuery('cd10', 0);
     $time_sort = Yii::app()->request->getQuery('time_sort', 'DESC');
     $price_sort = Yii::app()->request->getQuery('price_sort');
     $diy_word = null;
     $city_list = City::model()->findAll(array('order' => 'id ASC'));
     if (!empty($city_id)) {
         $district_list = District::model()->findAll('city_id=:city_id', array(':city_id' => $city_id));
     } else {
         $district_list = District::model()->findAll();
     }
     $investType_list = InvestType::model()->findAll();
     $propertyType_list = PropertyType::model()->findAll();
     //按搜索条件查询房源信息
     $criteria = new CDbCriteria();
     if (!empty($city_id)) {
         $criteria->addCondition('city_id=' . $city_id);
     }
     if (!empty($district_id)) {
         $criteria->addCondition('district_id=' . $district_id);
     }
     if (!empty($propertyType_id)) {
         if ($propertyType_id == 1) {
             $criteria->addCondition('type_own1_out="Detached"');
         } elseif ($propertyType_id == 2) {
             $criteria->addCondition('type_own1_out="Townhouse" or type_own1_out="Att∕Row∕Twnhouse" or type_own1_out="Triplex" or type_own1_out="Fourplex" or type_own1_out="Multiplex"');
         } elseif ($propertyType_id == 3) {
             $criteria->addCondition('lp_dol>3000000');
         } elseif ($propertyType_id == 4) {
             $criteria->addCondition('type_own1_out="Semi-Detached" or type_own1_out="Link" or type_own1_out="Duplex"');
         } elseif ($propertyType_id == 5) {
             $criteria->addCondition('type_own1_out="Cottage" or type_own1_out="Rural Resid"');
         } elseif ($propertyType_id == 6) {
             $criteria->addCondition('type_own1_out="Farm"');
         } elseif ($propertyType_id == 7) {
             $criteria->addCondition('type_own1_out="Vacant Land"');
         } elseif ($propertyType_id == 8) {
             $criteria->addCondition('type_own1_out="Mobile/Trailer" or type_own1_out="Det W/Com Elements" or type_own1_out="Store W/Apt/offc"');
         }
     }
     if (!empty($total_price)) {
         if (!empty(self::$searchData['cd5'][$total_price]['min'])) {
             $criteria->addCondition('lp_dol>' . self::$searchData['cd5'][$total_price]['min']);
         }
         if (!empty(self::$searchData['cd5'][$total_price]['max'])) {
             $criteria->addCondition('lp_dol<=' . self::$searchData['cd5'][$total_price]['max']);
         }
     }
     if (!empty($house_area)) {
         if (!empty(self::$searchData['cd6'][$house_area]['min'])) {
             $criteria->addCondition('sqft>' . self::$searchData['cd6'][$house_area]['min']);
         }
         if (!empty(self::$searchData['cd6'][$house_area]['max'])) {
             $criteria->addCondition('sqft<=' . self::$searchData['cd6'][$house_area]['max']);
         }
     }
     if (!empty($land_area)) {
         if (!empty(self::$searchData['cd7'][$land_area]['min'])) {
             $criteria->addCondition('depth*front_ft>' . self::$searchData['cd7'][$land_area]['min']);
         }
         if (!empty(self::$searchData['cd7'][$land_area]['max'])) {
             $criteria->addCondition('depth*front_ft<=' . self::$searchData['cd7'][$land_area]['max']);
         }
     }
     if (!empty($bedroom_num)) {
         if ($bedroom_num <= 5) {
             $criteria->addCondition('br_plus=' . $bedroom_num);
         } else {
             $criteria->addCondition('br_plus>=' . $bedroom_num);
         }
     }
     if (!empty($construction_year)) {
         if (!empty(self::$searchData['cd9'][$construction_year]['min'])) {
             $criteria->addCondition('yr_built>' . self::$searchData['cd9'][$construction_year]['min']);
         }
         if (!empty(self::$searchData['cd9'][$construction_year]['max'])) {
             $criteria->addCondition('yr_built<=' . self::$searchData['cd9'][$construction_year]['max']);
         }
     }
     if (!empty($prop_featx_out)) {
         $criteria->addCondition('prop_feat1_out="' . $prop_featx_out . '"');
     }
     $criteria->order = 'id DESC';
     if (!empty($time_sort)) {
         $criteria->order = 'pix_updt ' . $time_sort;
     }
     if (!empty($price_sort)) {
         $criteria->order = 'lp_dol ' . $price_sort;
     }
     $count = House::model()->count($criteria);
     $pager = new CPagination($count);
     $pager->pageSize = 10;
     $pager->applyLimit($criteria);
     $house_list = House::model()->findAll($criteria);
     $collection_list = array();
     if ($this->_account['userId']) {
         $collect_model = Collect::model()->find('user_id=:user_id', array(':user_id' => $this->_account['userId']));
         if (!empty($collect_model)) {
             $collection_list = explode(',', $collect_model->collection);
         }
     }
     $data = array('cd1' => $city_id, 'cd2' => $district_id, 'cd3' => $investType_id, 'cd4' => $propertyType_id, 'cd5' => $total_price, 'cd6' => $house_area, 'cd7' => $land_area, 'cd8' => $bedroom_num, 'cd9' => $construction_year, 'cd10' => $prop_featx_out, 'time_sort' => $time_sort, 'price_sort' => $price_sort, 'diy_price' => json_encode($diy_price), 'city_list' => $city_list, 'district_list' => $district_list, 'investType_list' => $investType_list, 'propertyType_list' => $propertyType_list, 'count' => $count, 'house_list' => $house_list, 'collection_list' => $collection_list, "pages" => $pager);
     $this->render('index', $data);
 }
Esempio n. 5
0
 /**
  * 房源列表
  */
 public function actionIndex()
 {
     Yii::app()->clientScript->registerCssFile(Yii::app()->theme->baseUrl . '/css/house.css');
     $city_id = Yii::app()->request->getQuery('cd1', 0);
     $district_id = Yii::app()->request->getQuery('cd2', 0);
     //used to be Region search. Change it to municipality search
     $investType_id = Yii::app()->request->getQuery('cd3', 0);
     $propertyType_id = Yii::app()->request->getQuery('cd4', 0);
     $total_price = Yii::app()->request->getQuery('cd5', 0);
     $house_area = Yii::app()->request->getQuery('cd6', 0);
     $land_area = Yii::app()->request->getQuery('cd7', 0);
     $bedroom_num = Yii::app()->request->getQuery('cd8', 0);
     $construction_year = Yii::app()->request->getQuery('cd9', 0);
     $prop_featx_out = Yii::app()->request->getQuery('cd10', 0);
     $prop_featx_out2 = Yii::app()->request->getQuery('cd11', 0);
     $prop_featx_out3 = Yii::app()->request->getQuery('cd12', 0);
     $prop_featx_out_2 = Yii::app()->request->getQuery('cd12_2', 0);
     $prop_featx_out_3 = Yii::app()->request->getQuery('cd12_3', 0);
     $prop_featx_out_4 = Yii::app()->request->getQuery('cd12_4', 0);
     $prop_featx_out_5 = Yii::app()->request->getQuery('cd12_5', 0);
     $type = Yii::app()->request->getQuery('type', 'sale');
     $bath_tot = Yii::app()->request->getQuery('cd13', 0);
     $style = Yii::app()->request->getQuery('cd14', 0);
     $comp_pts = Yii::app()->request->getQuery('cd15', 0);
     $gar_spaces = Yii::app()->request->getQuery('cd16', 0);
     $bsmt1_out = Yii::app()->request->getQuery('cd17', 0);
     $pool = Yii::app()->request->getQuery('cd18', 0);
     $time_sort = Yii::app()->request->getQuery('time_sort', 'DESC');
     $price_sort = Yii::app()->request->getQuery('price_sort');
     $type = Yii::app()->request->getQuery('type');
     $diy_word = null;
     //$city_list = City::model()->findAll(array('order'=>'id ASC'));
     $city_list = City::model()->findAll(array('condition' => 'avail=1', 'order' => 'id ASC'));
     //$province_list  = Province::model()->findAll(array('condition'=>'avail=1','order'=>'id ASC'));
     if (!empty($city_id)) {
         $district_list = District::model()->findAll('city_id=:city_id', array(':city_id' => $city_id));
     } else {
         $district_list = District::model()->findAll();
     }
     $investType_list = InvestType::model()->findAll();
     $propertyType_list = PropertyType::model()->findAll();
     //按搜索条件查询房源信息
     $criteria = new CDbCriteria();
     //VOW limits
     $criteria->addCondition('src != "VOW"');
     //Search By Sale or Lease Type
     //$criteria->addCondition('s_r ="Sale"');
     if ($type == "sale") {
         $criteria->addCondition('s_r = "Sale"');
     } elseif ($type == "rent") {
         $criteria->addCondition('s_r = "Lease"');
     }
     //省份
     //if(!empty($city_id)) $criteria->addCondition('area!=""');
     if (!empty($city_id)) {
         $criteria->addCondition('city_id=' . $city_id);
     }
     //地区
     if (!empty($district_id)) {
         $criteria->addCondition('t.municipality ="' . $district_id . '"');
     }
     //挂牌时间
     if (!empty($investType_id)) {
         if ($investType_id == 1) {
             //数据
             $criteria->addCondition('DATE_SUB(CURDATE(), INTERVAL 1 DAY) <= date(pix_updt)');
         } elseif ($investType_id == 2) {
             //查询7数据
             $criteria->addCondition('DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(pix_updt)');
         } elseif ($investType_id == 3) {
             //查询1月数据
             $criteria->addCondition('DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(pix_updt)');
         } elseif ($investType_id == 4) {
             //查询三月数据
             $criteria->addCondition('DATE_SUB(CURDATE(), INTERVAL 90 DAY) <= date(pix_updt)');
         }
     }
     if (!empty($prop_featx_out)) {
         if ($prop_featx_out == 1) {
             $criteria->addCondition('prop_feat1_out like "%Waterfront%" or prop_feat2_out like "%Waterfront%" or prop_feat3_out like "%Waterfront%" or prop_feat4_out like "%Waterfront%" or prop_feat5_out like "%Waterfront%" or prop_feat6_out like "%Waterfront%" ');
         } elseif ($prop_featx_out == 2) {
             $criteria->addCondition('prop_feat1_out like "%Pond%" or prop_feat2_out like "%Pond%" or prop_feat3_out like "%Pond%" or prop_feat4_out like "%Pond%" or prop_feat5_out like "%Pond%" or prop_feat6_out like "%Pond%" ');
         } elseif ($prop_featx_out == 3) {
             $criteria->addCondition('prop_feat1_out like "%Stream%" or prop_feat2_out like "%Stream%" or prop_feat3_out like "%Stream%" or prop_feat4_out like "%Stream%" or prop_feat5_out like "%Stream%" or prop_feat6_out like "%Stream%" ');
         } elseif ($prop_featx_out == 4) {
             $criteria->addCondition('prop_feat1_out like "%River%" or prop_feat2_out like "%River%" or prop_feat3_out like "%River%" or prop_feat4_out like "%River%" or prop_feat5_out like "%River%" or prop_feat6_out like "%River%" ');
         } elseif ($prop_featx_out == 5) {
             $criteria->addCondition('prop_feat1_out like "%Lake%" or prop_feat2_out like "%Lake%" or prop_feat3_out like "%Lake%" or prop_feat4_out like "%Lake%" or prop_feat5_out like "%Lake%" or prop_feat6_out like "%Lake%" ');
         } elseif ($prop_featx_out == 6) {
             $criteria->addCondition('prop_feat1_out like "%Marina%" or prop_feat2_out like "%Marina%" or prop_feat3_out like "%Marina%" or prop_feat4_out like "%Marina%" or prop_feat5_out like "%Marina%" or prop_feat6_out like "%Marina%" ');
         }
     }
     if (!empty($prop_featx_out2)) {
         if ($prop_featx_out2 == 1) {
             $criteria->addCondition('prop_feat1_out like "%Treed%" or prop_feat2_out like "%Treed%" or prop_feat3_out like "%Treed%" or prop_feat4_out like "%Treed%" or prop_feat5_out like "%Treed%" or prop_feat6_out like "%Treed%" ');
         } elseif ($prop_featx_out2 == 2) {
             $criteria->addCondition('prop_feat1_out like "%Wooded%" or prop_feat2_out like "%Wooded%" or prop_feat3_out like "%Wooded%" or prop_feat4_out like "%Wooded%" or prop_feat5_out like "%Wooded%" or prop_feat6_out like "%Wooded%" ');
         } elseif ($prop_featx_out2 == 3) {
             $criteria->addCondition('prop_feat1_out like "%Grnbelt%" or prop_feat2_out like "%Grnbelt%" or prop_feat3_out like "%Grnbelt%" or prop_feat4_out like "%Grnbelt%" or prop_feat5_out like "%Grnbelt%" or prop_feat6_out like "%Grnbelt%" ');
         } elseif ($prop_featx_out2 == 4) {
             $criteria->addCondition('prop_feat1_out like "%Conserv%" or prop_feat2_out like "%Conserv%" or prop_feat3_out like "%Conserv%" or prop_feat4_out like "%Conserv%" or prop_feat5_out like "%Conserv%" or prop_feat6_out like "%Conserv%" ');
         } elseif ($prop_featx_out2 == 5) {
             $criteria->addCondition('prop_feat1_out like "%Ravine%" or prop_feat2_out like "%Ravine%" or prop_feat3_out like "%Ravine%" or prop_feat4_out like "%Ravine%" or prop_feat5_out like "%Ravine%" or prop_feat6_out like "%Ravine%" ');
         }
     }
     //$prop_featx_out3==>学校 1  prop_feat1_out like "%School%" or prop_feat2_out like "%School%" or prop_feat3_out like "%School%" or prop_feat4_out like "%School%" or prop_feat5_out like "%School%" or prop_feat6_out like "%School%"
     //$prop_featx_out_2==>医院 1 prop_feat1_out like "%Hospital%" or prop_feat2_out like "%Hospital%" or prop_feat3_out like "%Hospital%" or prop_feat4_out like "%Hospital%" or prop_feat5_out like "%Hospital%" or prop_feat6_out like "%Hospital%"
     //$prop_featx_out_3==>公共交通 1 prop_feat1_out like "%Public Transit%" or prop_feat2_out like "%Public Transit%" or prop_feat3_out like "%Public Transit%" or prop_feat4_out like "%Public Transit%" or prop_feat5_out like "%Public Transit%" or prop_feat6_out like "%Public Transit%"
     //$prop_featx_out_4==>高尔夫球场 1 prop_feat1_out like "%Golf%" or prop_feat2_out like "%Golf%" or prop_feat3_out like "%Golf%" or prop_feat4_out like "%Golf%" or prop_feat5_out like "%Golf%" or prop_feat6_out like "%Golf%"
     //$prop_featx_out_5==>图书馆 1 prop_feat1_out like "%Library%" or prop_feat2_out like "%Library%" or prop_feat3_out like "%Library%" or prop_feat4_out like "%Library%" or prop_feat5_out like "%Library%" or prop_feat6_out like "%Library%"
     if (!empty($prop_featx_out3)) {
         $criteria->addCondition('prop_feat1_out like "%School%" or prop_feat2_out like "%School%" or prop_feat3_out like "%School%" or prop_feat4_out like "%School%" or prop_feat5_out like "%School%" or prop_feat6_out like "%School%" ');
     }
     if (!empty($prop_featx_out_2)) {
         $criteria->addCondition('prop_feat1_out like "%Hospital%" or prop_feat2_out like "%Hospital%" or prop_feat3_out like "%Hospital%" or prop_feat4_out like "%Hospital%" or prop_feat5_out like "%Hospital%" or prop_feat6_out like "%Hospital%"');
     }
     if (!empty($prop_featx_out_3)) {
         $criteria->addCondition('prop_feat1_out like "%Public Transit%" or prop_feat2_out like "%Public Transit%" or prop_feat3_out like "%Public Transit%" or prop_feat4_out like "%Public Transit%" or prop_feat5_out like "%Public Transit%" or prop_feat6_out like "%Public Transit%"');
     }
     if (!empty($prop_featx_out_4)) {
         $criteria->addCondition('prop_feat1_out like "%Golf%" or prop_feat2_out like "%Golf%" or prop_feat3_out like "%Golf%" or prop_feat4_out like "%Golf%" or prop_feat5_out like "%Golf%" or prop_feat6_out like "%Golf%"');
     }
     if (!empty($prop_featx_out_5)) {
         $criteria->addCondition('prop_feat1_out like "%Library%" or prop_feat2_out like "%Library%" or prop_feat3_out like "%Library%" or prop_feat4_out like "%Library%" or prop_feat5_out like "%Library%" or prop_feat6_out like "%Library%"');
     }
     //物业类型
     if (!empty($propertyType_id)) {
         $criteria->addCondition('propertyType_id="' . $propertyType_id . '"');
     }
     if (strpos($total_price, '-') !== false) {
         $price = explode('-', $total_price);
         $minPrice = intval($price[0]) * 10000;
         $maxPrice = intval($price[1]) * 10000;
         if ($maxPrice != 0 || $minPrice != 0) {
             if ($maxPrice > $minPrice) {
                 $criteria->addCondition('lp_dol <' . $maxPrice);
             }
             $criteria->addCondition('lp_dol >=' . $minPrice);
         }
     }
     //房屋面积
     if (!empty($house_area)) {
         if ($house_area == 1) {
             $criteria->addCondition('house_area<700 and house_area > 1');
         } elseif ($house_area == 2) {
             $criteria->addCondition('house_area>=700 and house_area<1100');
         } elseif ($house_area == 3) {
             $criteria->addCondition('house_area>=1100 and house_area<1500');
         } elseif ($house_area == 4) {
             $criteria->addCondition('house_area>=1500 and house_area<2000');
         } elseif ($house_area == 5) {
             $criteria->addCondition('house_area>=2000 and house_area<2500');
         } elseif ($house_area == 6) {
             $criteria->addCondition('house_area>=2500 and house_area<3000');
         } elseif ($house_area == 7) {
             $criteria->addCondition('house_area>=3000 and house_area<3500');
         } elseif ($house_area == 8) {
             $criteria->addCondition('house_area>=3500 and house_area<4000');
         } elseif ($house_area == 9) {
             $criteria->addCondition('house_area>=4000');
         }
     }
     //土地面积
     if (!empty($land_area)) {
         if ($land_area == 1) {
             $criteria->addCondition('land_area<2000 and land_area > 100');
         } elseif ($land_area == 2) {
             $criteria->addCondition('land_area>=2000 and land_area<4000');
         } elseif ($land_area == 3) {
             $criteria->addCondition('land_area>=4000 and land_area<6000');
         } elseif ($land_area == 4) {
             $criteria->addCondition('land_area>=6000 and land_area<12000');
         } elseif ($land_area == 5) {
             $criteria->addCondition('land_area>=12000 and land_area<20000');
         } elseif ($land_area == 6) {
             $criteria->addCondition('land_area>=20000 and land_area<43560');
         } elseif ($land_area == 7) {
             $criteria->addCondition('land_area>=43560');
         }
     }
     if (!empty($bedroom_num)) {
         if ($bedroom_num <= 5) {
             $criteria->addCondition('br>' . $bedroom_num);
         } else {
             $criteria->addCondition('br>=' . $bedroom_num);
         }
     }
     if (!empty($construction_year)) {
         if (!empty(self::$searchData['cd9'][$construction_year]['min'])) {
             $criteria->addCondition('yr_built>' . self::$searchData['cd9'][$construction_year]['min']);
         }
         if (!empty(self::$searchData['cd9'][$construction_year]['max'])) {
             $criteria->addCondition('yr_built<=' . self::$searchData['cd9'][$construction_year]['max']);
         }
     }
     if (!empty($bath_tot)) {
         $criteria->addCondition('bath_tot>"' . $bath_tot . '"');
     }
     if (!empty($style)) {
         if ($style == "1") {
             $criteria->addCondition('style="Bungalow" or style="Bungalow-Raised" or style="Raised-Bungalow"');
         } elseif ($style == "2") {
             $criteria->addCondition('style="1 1/2 Storey"');
         } elseif ($style == "3") {
             $criteria->addCondition('style="2-Storey"');
         } elseif ($style == "4") {
             $criteria->addCondition('style="2 1/2 Storey"');
         } elseif ($style == "5") {
             $criteria->addCondition('style="3-Storey"');
         }
     }
     if (!empty($comp_pts)) {
         if ($comp_pts == "1") {
             $criteria->addCondition('comp_pts="S"');
         } elseif ($comp_pts == "2") {
             $criteria->addCondition('comp_pts="N"');
         } elseif ($comp_pts == "3") {
             $criteria->addCondition('comp_pts="E"');
         } elseif ($comp_pts == "4") {
             $criteria->addCondition('comp_pts="W"');
         }
     }
     if (!empty($gar_spaces)) {
         $criteria->addCondition('gar_spaces >"' . $gar_spaces . '"');
     }
     if (!empty($bsmt1_out)) {
         $criteria->addCondition('bsmt1_out="' . $bsmt1_out . '"');
     }
     if (!empty($pool)) {
         if ($pool == "1") {
             //$criteria->addCondition('pool="Abv" or pool="Grnd" or pool="Indoor" or pool="Inground"');
             $criteria->addCondition('pool like "%pool%"');
         } elseif ($pool == "2") {
             $criteria->addCondition('pool="" or pool="None"');
         }
     }
     #$criteria->order = 'id DESC';
     $criteria->order = 'city_id ASC,lp_dol DESC';
     if (!empty($time_sort)) {
         $criteria->order = 'pix_updt ' . $time_sort . ', city_id ASC,lp_dol DESC';
     }
     if (!empty($price_sort)) {
         $criteria->order = 'lp_dol ' . $price_sort;
     }
     $criteria->with = array('mname', 'propertyType', 'city');
     $count = House::model()->count($criteria);
     $pager = new CPagination($count);
     $pager->pageSize = 10;
     $pager->applyLimit($criteria);
     $house_list = House::model()->findAll($criteria);
     //generate cookie list for previous and next page
     foreach ($house_list as $val) {
         //generate ml_num for cookielist
         $ml_list = $ml_list . "," . $val->ml_num;
     }
     $listcookie = "fzd_houselist";
     if (!isset($_COOKIE[$listcookie])) {
         setcookie($listcookie, "", time() - 3600);
     }
     setcookie($listcookie, $ml_list, time() + 86400 * 30, "/");
     //end of adding cookie
     $collection_list = array();
     if ($this->_account['userId']) {
         $collect_model = Collect::model()->find('user_id=:user_id', array(':user_id' => $this->_account['userId']));
         if (!empty($collect_model)) {
             $collection_list = explode(',', $collect_model->collection);
         }
     }
     $data = array('cd1' => $city_id, 'cd2' => $district_id, 'cd3' => $investType_id, 'cd4' => $propertyType_id, 'cd5' => $total_price, 'cd6' => $house_area, 'cd7' => $land_area, 'cd8' => $bedroom_num, 'cd9' => $construction_year, 'cd10' => $prop_featx_out, 'cd11' => $prop_featx_out2, 'cd12' => $prop_featx_out3, 'cd12_2' => $prop_featx_out_2, 'cd12_3' => $prop_featx_out_3, 'cd12_4' => $prop_featx_out_4, 'cd12_5' => $prop_featx_out_5, 'cd13' => $bath_tot, 'cd14' => $style, 'cd15' => $comp_pts, 'cd16' => $gar_spaces, 'cd17' => $bsmt1_out, 'cd18' => $pool, 'time_sort' => $time_sort, 'price_sort' => $price_sort, 'diy_price' => json_encode($diy_price), 'city_list' => $city_list, 'district_list' => $district_list, 'investType_list' => $investType_list, 'propertyType_list' => $propertyType_list, 'count' => $count, 'house_list' => $house_list, 'collection_list' => $collection_list, "pages" => $pager, "type" => $type);
     $this->render('index', $data);
 }
Esempio n. 6
0
 /**
  * 取用户组列表
  * @param $type
  */
 protected function _groupList($type = 'user')
 {
     switch ($type) {
         case 'user':
             return AdminGroup::model()->findAll();
             break;
         case 'subject':
             return Subject::model()->findAll();
             break;
         case 'city':
             return City::model()->findAll();
             break;
         case 'district':
             return District::model()->findAll();
             break;
         case 'investType':
             return InvestType::model()->findAll();
             break;
         case 'propertyType':
             return PropertyType::model()->findAll();
             break;
         case 'house':
             return House::model()->findAll();
             break;
         case 'match':
             return Match::model()->findAll();
             break;
     }
 }