public function actionView($userId) { Yii::beginProfile('specialist_view'); $session = Yii::app()->session; $specialist = SpecialistProfileApi::getSpecialistDetails($userId); if (!$specialist) { throw new CHttpException(404, 'The requested page does not exist.'); } $specialistInfo = UserApi::getUserProfileDetails($specialist->user_id); $specialistAddress = DbUtils::getAddress($specialist->city_id); $specialistTypes = SpecialistTypeApi::getSpecialistTypeByUserId($specialist->user_id); $specialistProjects = SpecialistApi::getSpecialistProjectsByUserId($specialist->user_id); $specialistRatingReadOnly = SpecialistRatingApi::isRated($specialist->id, Yii::app()->user->id); $specialistRating = SpecialistRatingApi::getRating($specialist->user_id); $specialistLocations = UserSpecialistLocationsApi::getLocations($specialist->id); $specialistPropertyLocations = ""; if ($specialistLocations) { foreach ($specialistLocations as $specialistLocation) { $specialistPropertyLocations[] = DbUtils::getAddress($specialistLocation->city_id); } } if (!$specialistRatingReadOnly) { if ($specialist->user_id == Yii::app()->user->id) { $specialistRatingReadOnly = true; } else { $specialistRatingReadOnly = false; } } else { $specialistRatingReadOnly = true; } $this->render('view', array('specialist' => $specialist, 'specialistInfo' => $specialistInfo, 'specialistAddress' => $specialistAddress, 'specialistTypes' => $specialistTypes, 'specialistProjects' => $specialistProjects, 'specialistRatingReadOnly' => $specialistRatingReadOnly, 'specialistRating' => $specialistRating, 'specialistPropertyLocations' => $specialistPropertyLocations)); Yii::endProfile('specialist_view'); }