protected function renderContent() { yii::beginProfile('loc'); $session = new CHttpSession(); $session->open(); $newCountry = $this->newCountry ? $this->newCountry : ($session['top-country'] ? $session['top-country'] : $this->defaultCountry); $session['top-country'] = $newCountry; $newCity = $this->newCity ? $this->newCity : ($session['top-city'] ? $session['top-city'] : $this->defaultCity); $session['top-location'] = $newCity; if ($newCountry == "international") { $country = 'international'; $city = GeoCityApi::getCityByName($newCity); if ($city) { $cities = GeoCityApi::getTopPrioritiesInternational($city->id); } else { $cities = GeoCityApi::getTopPrioritiesInternational(); } } else { $country = GeoCountryApi::getCountryByName($newCountry); $city = GeoCityApi::getCityByName($newCity); if ($country && $city) { $cities = GeoCityApi::getTopPrioritiesByCountry($country->id, $city->id); } elseif ($country) { $cities = GeoCityApi::getTopPrioritiesByCountry($country->id); } } if ($country && $cities) { $this->render('topLocation', array('city' => $city, 'country' => $country, 'current' => $this->current, 'cities' => $cities)); } yii::endProfile('loc'); }
protected function renderContent() { yii::beginProfile('top-cities'); $country = GeoCountryApi::getCountryByName($this->country); $cities = GeoCityApi::getTopPrioritiesByCountry($country->id); $this->render('topCities', array('cities' => $cities)); yii::endProfile('top-cities'); }
public function run() { $requirementIds = array(); if ($this->requirements) { foreach ($this->requirements as $requirement) { $requirementIds[] = $requirement->id; } } $cityIds = RequirementCitiesApi::getCitiesForRequirements($requirementIds); $cities = GeoCityApi::getCityList(); $propertyTypeIds = RequirementPropertyTypesApi::getPropertiesForRequirements($requirementIds); $properties = PropertyTypesApi::propertyList(); $amenityids = RequirementAmenitiesApi::getAmenitiesForRequirements($requirementIds); $amenities = AmenitiesApi::amenityList(); $this->render('requirementResults', array('pages' => $this->pages, 'requirements' => $this->requirements, 'cityIds' => $cityIds, 'cities' => $cities, 'propertyTypeIds' => $propertyTypeIds, 'properties' => $properties, 'amenityids' => $amenityids, 'amenities' => $amenities, 'totalRequirements' => $this->totalRequirements)); }
public function actionGetList($page = null) { if ($page == "agent") { $modelProfile = new UserAgentProfile(); $state_id = isset($_POST['UserAgentProfile']['state_id']) ? $_POST['UserAgentProfile']['state_id'] : ''; } elseif ($page == "builder") { $modelProfile = new UserBuilderProfile(); $state_id = isset($_POST['UserBuilderProfile']['state_id']) ? $_POST['UserBuilderProfile']['state_id'] : ''; } elseif ($page == "specialist") { $modelProfile = new UserSpecialistProfile(); $state_id = isset($_POST['UserSpecialistProfile']['state_id']) ? $_POST['UserSpecialistProfile']['state_id'] : ''; } elseif ($page == 'project') { $modelProfile = new Projects(); $state_id = $_POST['Projects']['state_id']; } elseif ($page == 'property') { $modelProfile = new Property(); $state_id = $_POST['Property']['state_id']; if (isset($_POST['Property']['state_id'])) { $state_id = $_POST['Property']['state_id']; } } elseif ($page == 'property') { $modelProfile = new Property(); $state_id = $_POST['Property']['state_id']; } else { $modelProfile = new UserProfiles(); $state_id = ''; if (isset($_POST['UserProfiles']['state_id'])) { $state_id = $_POST['UserProfiles']['state_id']; } } $list = null; if ($state_id != "") { $list = GeoCityApi::getList($state_id); } if ($page == 'register' || $page == 'project' || $page == 'property') { $this->renderPartial('getList', array('list' => $list, 'modelProfile' => $modelProfile, 'page' => $page)); } else { if ($page == "agent" || $page == "builder" || $page == "specialist") { $this->renderPartial('getListProfile', array('list' => $list, 'modelProfile' => $modelProfile, 'page' => $page)); } else { $this->renderPartial('getList', array('list' => $list, 'modelProfile' => $modelProfile, 'page' => $page)); } } }
public static function getTopBuilder($count, $location = null) { if ($location) { $city = GeoCityApi::getCityByName($location['city']); if ($count) { $sql = 'SELECT * from user_builder_profile JOIN (SELECT builder_id from user_builder_rating r GROUP BY r.builder_id order by AVG(r.rate) DESC LIMIT ' . "{$count}" . ') AS ratings ON (user_builder_profile.id=ratings.builder_id) where city_id=' . "{$city->id}" . ' ORDER BY rand()'; } $sql = 'SELECT * from user_builder_profile JOIN (SELECT builder_id from user_builder_rating r GROUP BY r.builder_id order by AVG(r.rate) DESC) AS ratings ON (user_builder_profile.id=ratings.builder_id) where city_id=' . "{$city->id}" . ' ORDER BY rand()'; $properties = Yii::app()->db->createCommand($sql)->queryAll(); $countProperties = count($properties); if ($countProperties < $count) { $total = $count - $countProperties; $sql = 'SELECT * from user_builder_profile JOIN (SELECT builder_id from user_builder_rating r GROUP BY r.builder_id order by AVG(r.rate) DESC) AS ratings ON (user_builder_profile.id=ratings.builder_id) where city_id!=' . "{$city->id}" . ' AND state_id=' . "{$city->state_id}" . ' ORDER BY rand() limit ' . "{$total}" . ''; $propertiesState = Yii::app()->db->createCommand($sql)->queryAll(); $properties = ArrayUtils::joinArray($properties, $propertiesState); $countProperties = count($properties); if ($countProperties < $count) { $total = $count - $countProperties; $sql = 'SELECT * from user_builder_profile JOIN (SELECT builder_id from user_builder_rating r GROUP BY r.builder_id order by AVG(r.rate) DESC) AS ratings ON (user_builder_profile.id=ratings.builder_id) where city_id!=' . "{$city->id}" . ' AND state_id!=' . "{$city->state_id}" . ' ORDER BY rand() limit ' . "{$total}" . ''; $propertiesCountry = Yii::app()->db->createCommand($sql)->queryAll(); $properties = ArrayUtils::joinArray($properties, $propertiesCountry); } } } else { if ($count) { $sql = 'SELECT * from user_builder_profile JOIN (SELECT builder_id from user_builder_rating r GROUP BY r.builder_id order by AVG(r.rate) DESC LIMIT ' . "{$count}" . ') AS ratings ON (user_builder_profile.id=ratings.builder_id) ORDER BY rand()'; } $sql = 'SELECT * from user_builder_profile JOIN (SELECT builder_id from user_builder_rating r GROUP BY r.builder_id order by AVG(r.rate) DESC) AS ratings ON (user_builder_profile.id=ratings.builder_id) ORDER BY rand()'; $properties = Yii::app()->db->createCommand($sql)->queryAll(); } if ($properties) { return $properties; } else { return false; } /*$criteria=new CDbCriteria; $criteria->limit=$count; $criteria->order='rand()'; $criteria->with = 'propertyRatings r'; $criteria->order='MAX(AVG(r.rate))'; $properties=Property::model()->findAll($criteria); if($properties) return $properties; else return false;*/ }
<!--Top Builders Widget--> <div id="tabbed_box_1" class="tabbed_box"> <h2 class="head-tab">Top Builders</h2> <div class="tabbed_area"> <div class="tabs-widget"> <ul id="slider1"> <?php if ($topBuilders) { foreach ($topBuilders as $builder) { $city = GeoCityApi::getCityNameByID($builder['city_id']); $image = BuilderProfileApi::getImage($builder['user_id']); ?> <li><a href="/builder/<?php echo $builder['user_id']; ?> " title="<?php echo $builder['company_name']; ?> "><img src="<?php echo $image; ?> " height="50" width="80"border="0" title="<b><?php echo $builder['company_name']; ?> </b> <br /> <?php echo $city->city; ?> <br /> <br /> <a href='/builder/<?php echo $builder['user_id'];
public function actionView($id) { Yii::beginProfile('jukebox_view'); if (isset($_GET['attributeidC'])) { JukeboxAnswersApi::undoCorrectAnswer($_GET['attributeidC']); } if (isset($_GET['attributeidW'])) { JukeboxAnswersApi::undoWrongAnswer($_GET['attributeidW']); } $jukeboxQuestion = ''; $userProfile = ''; $geoCity = ''; $jukeboxAnswers = ''; $userdata = ''; $jukeboxRating = ''; $juckboxRatingEnable = false; $modelJukeboxQuestions = new JukeboxQuestions(); $jukeboxNewAnswers = new JukeboxAnswers(); $jukeboxQuestion = JukeboxQuestionsApi::getJukeboxQuestionById($id); $userProfile = UserApi::getUserProfileDetails($jukeboxQuestion->user_id); $juckboxRatingReadOnly = JukeboxRatingApi::checkUserRating($jukeboxQuestion->id, Yii::app()->user->id); if ($userProfile) { if (!$juckboxRatingReadOnly) { if ($userProfile->id == Yii::app()->user->id) { $juckboxRatingReadOnly = true; } else { $juckboxRatingReadOnly = false; } } else { $juckboxRatingReadOnly = true; } } if ($jukeboxQuestion) { if (isset($_POST['submit'])) { $model = new JukeboxAnswers(); $model->attributes = $_POST['JukeboxAnswers']; $data = JukeboxAnswersApi::addJukeboxAnswer(Yii::app()->user->id, $jukeboxQuestion->id, $model); if ($data) { $emailData = array(); $user = UserApi::getUserById(Yii::app()->user->id); $user ? $emailData["user"] = $user->id : null; $emailData["answer"] = $data->id; EmailApi::sendEmail($user->email_id, "ACTIVITY.JUKEBOX.RESPONSE", $emailData); } } $geoCity = GeoCityApi::getCitynameByID($userProfile->city_id); $jukeboxAnswers = JukeboxAnswersApi::getJukeboxAnswers($jukeboxQuestion->id); if ($jukeboxAnswers) { foreach ($jukeboxAnswers as $answers) { $jukeboxAnswersID[] = $answers->user_id; } $criteria = new CDbCriteria(); $criteria->addInCondition('user_id', $jukeboxAnswersID); $users = UserProfiles::model()->findAll($criteria); $user_data = ''; foreach ($users as $user) { $userdata[$user->user_id] = $user->first_name; } } $jukeboxRating = JukeboxRatingApi::getRating($jukeboxQuestion->id); } else { $jukeboxQuestion->question = "No Questions have been posted by user"; $jukeboxQuestion->description = ''; $jukeboxQuestion->id = ''; } $this->render('view', array('modelJukeboxQuestions' => $modelJukeboxQuestions, 'jukeboxNewAnswers' => $jukeboxNewAnswers, 'jukeboxQuestion' => $jukeboxQuestion, 'userProfile' => $userProfile, 'geoCity' => $geoCity, 'jukeboxAnswers' => $jukeboxAnswers, 'userdata' => $userdata, 'jukeboxRating' => $jukeboxRating, 'juckboxRatingReadOnly' => $juckboxRatingReadOnly)); Yii::endProfile('jukebox_view'); }
<div class="widget-project"> <h2 class="head-tab">Property Spotlight</h2> <div class="tabbed_area"> <div class="tabs-widget"> <ul id="slider1"> <?php if ($propertySpotlight) { foreach ($propertySpotlight as $property) { $city = GeoCityApi::getCityNameByID($property->city_id); $propertytype = PropertyTypesApi::getPropertyTypeById($property->property_type_id); ?> <li><a href="/property/<?php echo $property['id']; ?> " title="<?php echo $property['property_name']; ?> "><img src="<?php if (isset($propertyImages[$property->id])) { echo $propertyImages[$property->id]; } else { echo Yii::app()->theme->baseUrl . '/images/no.jpg'; } ?> " width="139" height="100" border="0" title="<b><?php echo $property['property_name']; ?> </b> <br /> <?php echo $city->city; ?> <br />
/** * This method gets the count and returns the featured properties * Returns the model if found. * Returns false if not found. * * @param string $count * @return model || boolean */ public static function getFeaturedProperties($count, $location = null) { if ($location) { $city = GeoCityApi::getCityByName($location['city']); $criteria = new CDbCriteria(); $criteria->condition = 'featured=:featured AND city_id=:city'; $criteria->params = array(':featured' => 1, ':city' => $city->id); if ($count) { $criteria->limit = $count; } $criteria->order = 'rand()'; $properties = Property::model()->findAll($criteria); $countProperties = count($properties); if ($countProperties < $count) { $total = $count - $countProperties; $country = GeoCountryApi::getCountryByName($location['country']); $criteria = new CDbCriteria(); $criteria->condition = 'featured=:featured AND state_id=:state AND city_id!=:cityId'; $criteria->params = array(':featured' => 1, ':state' => $city->state_id, ':cityId' => $city->id); $criteria->limit = $total; $criteria->order = 'rand()'; $propertiesState = Property::model()->findAll($criteria); $properties = ArrayUtils::joinArray($properties, $propertiesState); $countProperties = count($properties); if ($countProperties < $count) { $total = $count - $countProperties; $criteria = new CDbCriteria(); $criteria->condition = 'featured=:featured AND state_id!=:state AND city_id!=:cityId'; $criteria->params = array(':featured' => 1, ':state' => $city->state_id, ':cityId' => $city->id); $criteria->limit = $total; $criteria->order = 'rand()'; $propertiesState = Property::model()->findAll($criteria); $properties = ArrayUtils::joinArray($properties, $propertiesState); } } if ($properties) { return $properties; } else { return false; } } else { $criteria = new CDbCriteria(); $criteria->condition = 'featured=:featured'; $criteria->params = array(':featured' => 1); if ($count) { $criteria->limit = $count; } $criteria->order = 'rand()'; $properties = Property::model()->findAll($criteria); if ($properties) { return $properties; } else { return false; } } }