Exemplo n.º 1
0
 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');
 }
Exemplo n.º 2
0
 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');
 }
Exemplo n.º 3
0
 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));
 }
Exemplo n.º 4
0
 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));
         }
     }
 }
Exemplo n.º 5
0
    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;*/
    }
Exemplo n.º 6
0
<!--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'];
Exemplo n.º 7
0
 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');
 }
Exemplo n.º 8
0
   <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 /> 
Exemplo n.º 9
0
 /**
  * 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;
         }
     }
 }