/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer $id the ID of the model to be loaded * @return ExchangeRate the loaded model * @throws CHttpException */ public function loadModel($id) { $model = ExchangeRate::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
/** * 房源详情 */ public function actionView($id) { Yii::app()->clientScript->registerCssFile(Yii::app()->theme->baseUrl . '/css/house.css'); Yii::app()->clientScript->registerScriptFile(Yii::app()->theme->baseUrl . '/js/flowplayer-3.2.11.min.js'); $cookies = Yii::app()->request->getCookies(); if (!empty($cookies['fzd_house'])) { $house_ids = explode(',', $cookies['fzd_house']->value); array_push($house_ids, $id); $house_ids = array_unique($house_ids); $cookie_str = implode(',', $house_ids); $cookie = new CHttpCookie('fzd_house', $cookie_str); $cookie->expire = time() + 60 * 60 * 24 * 30; //有限期30天 Yii::app()->request->cookies['fzd_house'] = $cookie; } else { $cookie = new CHttpCookie('fzd_house', $id); $cookie->expire = time() + 60 * 60 * 24 * 30; //有限期30天 Yii::app()->request->cookies['fzd_house'] = $cookie; } $criteria = new CDbCriteria(); $criteria->addCondition('t.id="' . $id . '"'); $criteria->with = array('mname', 'propertyType'); //$house = House::model()->find('id=:id',array(':id'=>$id)); $house = House::model()->find($criteria); $layouts = Layout::model()->findAll('house_id=:house_id', array(':house_id' => $id)); $matches = Match::model()->findAll(); $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); } } //附件房源 $criteria = new CDbCriteria(); $criteria->select = 'id,addr,lp_dol,house_image'; $criteria->condition = 'zip=:zip AND id<>:id'; $criteria->params = array(':zip' => $house->zip, ':id' => $id); $criteria->order = 'id DESC'; $nearby_houses = House::model()->findAll($criteria); //浏览记录 $cookies = Yii::app()->request->getCookies(); $house_ids = explode(',', $cookies['addr']->value); $criteria = new CDbCriteria(); $criteria->select = 'id,addr,lp_dol,house_image'; $criteria->addInCondition('id', $house_ids); $view_history = House::model()->findAll($criteria); $exchangeRate = 0; $exchangeRateList = ExchangeRate::model()->findAll(); if (!empty($exchangeRateList)) { $exchangeRate = $exchangeRateList[0]->rate; } $data = array('house' => $house, 'layouts' => $layouts, 'matches' => $matches, 'collection_list' => $collection_list, 'nearby_houses' => $nearby_houses, 'view_history' => $view_history, 'exchangeRate' => $exchangeRate); $this->render('view', $data); }
public function actionGetHouseDetail() { $_POST = (array) json_decode(file_get_contents('php://input'), true); $postParms = !empty($_POST['parms']) ? $_POST['parms'] : array(); $id = $postParms['id']; $username = $postParms['username']; error_log("id=" . $id); //$id='W3589143'; $criteria = new CDbCriteria(); //$criteria->addCondition('t.id="'.$id.'"'); $criteria->addCondition('t.ml_num="' . $id . '"'); $criteria->with = array('mname', 'propertyType'); //$house = House::model()->find('id=:id',array(':id'=>$id)); $house = House::model()->find($criteria); //$house = House::model()->find($criteria)->asArray()->all(); //error_log(print_r($house)); $exchangeRate = 0; $exchangeRateList = ExchangeRate::model()->findAll(); if (!empty($exchangeRateList)) { $exchangeRate = $exchangeRateList[0]->rate; } $county = $house->county; $county = preg_replace('/\\s+/', '', $county); $county = str_replace("&", "", $county); //$dir="mlspic/crea/creamid/".$county."/Photo".$house->ml_num."/"; $rdir = $county . "/Photo" . $house->ml_num . "/"; $dir = "mlspic/crea/" . $rdir; $num_files = 0; $photos = array(); if (is_dir($dir)) { $picfiles = scandir($dir); $num_files = count(scandir($dir)) - 2; } if ($num_files > 0) { for ($x = 2; $x <= $num_files + 1; $x++) { $photos[] = $rdir . $picfiles[$x]; } } $isFav = 0; if ($username != 'NO') { if ($this->isValidIdToken()) { //error_log("Token is valid:".$username); $isFav = $this->checkfav($username, $id); } } $data = array('house' => $house->getAttributes(), 'house_mname' => $house->mname->getAttributes(), 'house_propertyType' => $house->propertyType->getAttributes(), 'exchangeRate' => $exchangeRate, 'photos' => $photos, 'isFav' => $isFav); echo json_encode($data); }