public function run()
 {
     $userId = Yii::app()->user->id;
     $isAgent = AgentProfileApi::isAgent($userId);
     $isBuilder = BuilderProfileApi::isBuilder($userId);
     $isSpecialist = SpecialistApi::isSpecialist($userId);
     $users = array('isAgent' => $isAgent, 'isBuilder' => $isBuilder, 'isSpecialist' => $isSpecialist);
     $this->render('manageownerprofile', array('users' => $users));
 }
Beispiel #2
0
 public function actionProfile($id)
 {
     Yii::beginProfile('account_profile');
     $userProfile = UserApi::getUser($id);
     if (!$userProfile) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     $userProfile = UserApi::getUserProfileDetails($id);
     $userAddress = DbUtils::getAddress($userProfile->city_id);
     $userImages = UserPhotosApi::getAllImages($id);
     $agentAddress = "";
     $agentImage = "";
     $agentProfile = AgentProfileApi::getAgentDetails($id);
     if ($agentProfile) {
         $agentAddress = DbUtils::getAddress($agentProfile->city_id);
         $agentImage = AgentProfileApi::getImage($id);
     }
     $builderAddress = "";
     $builderImage = "";
     $builderProfile = BuilderProfileApi::getBuilderDetails($id);
     if ($builderProfile) {
         $builderAddress = DbUtils::getAddress($builderProfile->city_id);
         $builderImage = BuilderProfileApi::getImage($id);
     }
     $specialistAddress = "";
     $specialistImage = "";
     $specialistProfile = SpecialistProfileApi::getSpecialistDetails($id);
     $specialistProjects = "";
     if ($specialistProfile) {
         $specialistAddress = DbUtils::getAddress($specialistProfile->city_id);
         $specialistImage = SpecialistProfileApi::getImage($id);
         $specialistProjects = SpecialistApi::getSpecialistProjects($id);
     }
     $this->render('profile', array('userProfile' => $userProfile, 'userAddress' => $userAddress, 'userImages' => $userImages, 'agentProfile' => $agentProfile, 'agentAddress' => $agentAddress, 'builderProfile' => $builderProfile, 'builderAddress' => $builderAddress, 'specialistProfile' => $specialistProfile, 'specialistAddress' => $specialistAddress, 'specialistProjects' => $specialistProjects, 'agentImage' => $agentImage, 'builderImage' => $builderImage, 'specialistImage' => $specialistImage));
     Yii::endProfile('account_profile');
 }
 public function actionView($id)
 {
     Yii::beginProfile('property_view');
     $session = Yii::app()->session;
     $property = PropertyApi::getPropertyById($id);
     if (!$property) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     if (!$property->furnished) {
         $property->furnished = '-';
     }
     if (!$property->floor_number) {
         $property->floor_number = '-';
     }
     if (!$property->total_floors) {
         $property->total_floors = '-';
     }
     if (!$property->facing) {
         $property->facing = '-';
     }
     $recentlyViewed = UserApi::getUserProfileDetails($property->recently_viewed);
     $propertyAgentInfo = AgentProfileApi::getAgentDetails($property->user_id);
     $propertyUser = "";
     $propertyAgent = "";
     $propertyBuilder = "";
     $propertyBuilderInfo = "";
     $propertySpecialist = "";
     $propertySpecialistInfo = "";
     $propertyRating = "";
     $propertyRating = PropertyRatingApi::getRating($id);
     if ($propertyAgentInfo) {
         $propertyAgent = UserApi::getUserProfileDetails($propertyAgentInfo->user_id);
     } else {
         $propertyBuilderInfo = BuilderProfileApi::getBuilderDetails($property->user_id);
         if ($propertyBuilderInfo) {
             $propertyBuilder = UserApi::getUserProfileDetails($propertyBuilderInfo->user_id);
         } else {
             $propertySpecialistInfo = SpecialistProfileApi::getSpecialistDetails($property->user_id);
             if ($propertySpecialistInfo) {
                 $propertySpecialist = UserApi::getUserProfileDetails($propertySpecialistInfo->user_id);
             } else {
                 $propertyUser = UserApi::getUser($property->user_id);
             }
         }
     }
     $propertySimilar = PropertyApi::getSimilarProperties($property, 3, $id);
     $propertySimilarAddress = "";
     $propertySimilarUser = "";
     if ($propertySimilar) {
         foreach ($propertySimilar as $similar) {
             $propertySimilarAddress[$similar->id] = PropertyApi::getLocation($similar->id);
             $propertySimilarUser[$similar->id] = UserApi::getUserProfileDetails($similar->user_id);
         }
     }
     $recentlyViewedIds[] = '';
     $recentlyViewedIds_total = $session['properties'];
     if ($recentlyViewedIds_total) {
         $re_array = array_reverse($recentlyViewedIds_total);
         $i = 0;
         foreach ($re_array as $re) {
             $recentlyViewedIds = $re;
             $i++;
             if ($i > 2) {
                 break;
             }
         }
     }
     $property_ids[] = $recentlyViewedIds;
     $property_ids[] = $id;
     $session['properties'] = array_unique($property_ids);
     $propertyRecentlyViewed = "";
     $propertyRecentlyViewedAddress = "";
     $propertyRecentlyViewedUser = "";
     if ($recentlyViewedIds) {
         foreach ($recentlyViewedIds as $recent) {
             $modelProperty = PropertyApi::getPropertyById($recent);
             if ($modelProperty) {
                 $propertyRecentlyViewed[] = $modelProperty;
                 $propertyRecentlyViewedAddress[] = PropertyApi::getLocation($recent);
                 $propertyRecentlyViewedUser[] = UserApi::getUserProfileDetails($modelProperty->user_id);
             }
         }
     }
     $propertyImages = PropertyImagesApi::getAllImages($property->id);
     $propertyType = PropertyTypesApi::getPropertyTypeById($property->property_type_id);
     $transactionType = PropertyTransactionTypesApi::getTransactionTypeById($property->transaction_type_id);
     $ownershipType = OwnershipTypesApi::getOwnershipTypeById($property->ownership_type_id);
     $propertyAge = PropertyAgeOfConstructionApi::getpropertyAgeById($property->age_of_construction);
     $propertyAmenities = PropertyAmenitiesApi::getAmenitiesForProperty($property->id);
     $propertyAddress = PropertyApi::getLocation($property->id);
     $propertyRating = PropertyRatingApi::getRating($property->id);
     $propertyWishlist = PropertyWishlistApi::getWishlistUserOnProperty($property->id, Yii::app()->user->id);
     $this->render('view', array('property' => $property, 'recentlyViewed' => $recentlyViewed, 'propertyAgentInfo' => $propertyAgentInfo, 'propertyBuilderInfo' => $propertyBuilderInfo, 'propertySpecialistInfo' => $propertySpecialistInfo, 'propertyUser' => $propertyUser, 'propertyAgent' => $propertyAgent, 'propertyBuilder' => $propertyBuilder, 'propertySpecialist' => $propertySpecialist, 'propertySimilar' => $propertySimilar, 'propertySimilarAddress' => $propertySimilarAddress, 'propertySimilarUser' => $propertySimilarUser, 'propertyRecentlyViewed' => $propertyRecentlyViewed, 'propertyRecentlyViewedAddress' => $propertyRecentlyViewedAddress, 'propertyRecentlyViewedUser' => $propertyRecentlyViewedUser, 'propertyImages' => $propertyImages, 'propertyType' => $propertyType, 'propertyAddress' => $propertyAddress, 'transactionType' => $transactionType, 'ownershipType' => $ownershipType, 'propertyAge' => $propertyAge, 'propertyAmenities' => $propertyAmenities, 'propertyRating' => $propertyRating, 'propertyWishlist' => $propertyWishlist));
     Yii::endProfile('property_view');
 }
Beispiel #4
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'];
Beispiel #5
0
 public function actionView($id)
 {
     Yii::beginProfile('project_view');
     $session = Yii::app()->session;
     $project = ProjectApi::getProjectById($id);
     if (!$project) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     $recentlyViewed = UserApi::getUserProfileDetails($project->recently_viewed);
     $projectAgentInfo = AgentProfileApi::getAgentDetails($project->user_id);
     $projectUser = "";
     $projectAgent = "";
     $projectBuilder = "";
     $projectBuilderInfo = "";
     $projectSpecialist = "";
     $projectSpecialistInfo = "";
     $projectRating = '';
     if ($projectAgentInfo) {
         $projectAgent = UserApi::getUserProfileDetails($projectAgentInfo->user_id);
     } else {
         $projectBuilderInfo = BuilderProfileApi::getBuilderDetails($project->user_id);
         if ($projectBuilderInfo) {
             $projectBuilder = UserApi::getUserProfileDetails($projectBuilderInfo->user_id);
         } else {
             $projectSpecialistInfo = SpecialistProfileApi::getSpecialistDetails($project->user_id);
             if ($projectSpecialistInfo) {
                 $projectSpecialist = UserApi::getUserProfileDetails($projectSpecialistInfo->user_id);
             } else {
                 $projectUser = UserApi::getUser($project->user_id);
             }
         }
     }
     $projectSimilar = ProjectApi::getSimilarProjects($project, 3);
     $projectSimilarAddress = "";
     $projectSimilarUser = "";
     if ($projectSimilar) {
         foreach ($projectSimilar as $similar) {
             $projectSimilarAddress[$similar->id] = ProjectApi::getLocation($similar->id);
             $projectSimilarUser[$similar->id] = UserApi::getUserProfileDetails($similar->user_id);
         }
     }
     $recentlyViewedIds = $session['projects'];
     $project_ids = $recentlyViewedIds;
     $project_ids[] = $id;
     $session['projects'] = array_unique($project_ids);
     $projectRecentlyViewed = "";
     $projectRecentlyViewedAddress = "";
     $projectRecentlyViewedUser = "";
     if ($recentlyViewedIds) {
         foreach ($recentlyViewedIds as $recent) {
             $modelProject = ProjectApi::getProjectById($recent);
             $projectRecentlyViewed[] = $modelProject;
             $projectRecentlyViewedAddress[] = ProjectApi::getLocation($recent);
             $projectRecentlyViewedUser[] = UserApi::getUserProfileDetails($modelProject->user_id);
         }
     }
     $projectImages = ProjectImagesApi::getAllImages($project->id);
     $projectType = ProjectTypesApi::getProjectTypeById($project->project_type_id);
     $ownershipType = OwnershipTypesApi::getOwnershipTypeById($project->ownership_type_id);
     $projectAmenities = ProjectAmenitiesApi::getAmenitiesForProject($project->id);
     $projectAddress = ProjectApi::getLocation($project->id);
     $projectProperties = ProjectPropertiesApi::getPropertiesModel($project->id);
     $projectWishlist = ProjectWishlistApi::getWishlistUserOnProject($project->id, Yii::app()->user->id);
     $projectRating = ProjectRatingApi::getRating($project->id);
     $projectViews = ProjectApi::getViews($project->id);
     ProjectApi::setViews($project->id);
     $this->render('view', array('project' => $project, 'recentlyViewed' => $recentlyViewed, 'projectAgentInfo' => $projectAgentInfo, 'projectBuilderInfo' => $projectBuilderInfo, 'projectSpecialistInfo' => $projectSpecialistInfo, 'projectUser' => $projectUser, 'projectAgent' => $projectAgent, 'projectBuilder' => $projectBuilder, 'projectSpecialist' => $projectSpecialist, 'projectSimilar' => $projectSimilar, 'projectSimilarAddress' => $projectSimilarAddress, 'projectSimilarUser' => $projectSimilarUser, 'projectRecentlyViewed' => $projectRecentlyViewed, 'projectRecentlyViewedAddress' => $projectRecentlyViewedAddress, 'projectRecentlyViewedUser' => $projectRecentlyViewedUser, 'projectImages' => $projectImages, 'projectType' => $projectType, 'projectAddress' => $projectAddress, 'ownershipType' => $ownershipType, 'projectAmenities' => $projectAmenities, 'projectProperties' => $projectProperties, 'projectRating' => $projectRating, 'projectWishlist' => $projectWishlist, 'projectViews' => $projectViews));
     Yii::endProfile('project_view');
 }
    echo '<div class="right cols2">
    	<div id="property_search_results">
        	<h1 class="property_search_results_top">' . count($users) . ' ' . $user_type . 's Found <span class="right"></span> </h1>
            <div id="user-results">';
    foreach ($users as $user) {
        if (isset($images[$user->id])) {
            $image = $images[$user->id];
        }
        $userProfile = userApi::getUserProfileDetails($user->id);
        ?>
			<?php 
        $profile = null;
        if ($user_type == "agent") {
            $profile = AgentProfileApi::getAgentDetails($user->id);
        } elseif ($user_type == "builder") {
            $profile = BuilderProfileApi::getBuilderDetails($user->id);
            //echo '<pre>';var_dump($profile->company_name);die();
        } elseif ($user_type == "specialist") {
            $profile = SpecialistProfileApi::getSpecialistDetails($user->id);
        }
        ?>
			<div class="post" style="cursor:pointer;" onClick="location.href='<?php 
        echo Yii::app()->createAbsoluteUrl('/profile/' . $profile->id);
        ?>
'">
            <?php 
        echo '<div class="left">';
        echo '<img src="' . $image . '" width="124" alt="" />';
        $address = DbUtils::getAddress($profile['city_id']);
        echo '<br />
                    
Beispiel #7
0
 public function actionDelete()
 {
     if (Yii::app()->user->isGuest) {
         throw new CHttpException(403, 'You are not authorized.');
     }
     if (BuilderProfileApi::deleteBuilderProfile(Yii::app()->user->id)) {
         Yii::app()->user->setFlash('success', 'Your builder profile was removed successfully');
     } else {
         Yii::app()->user->setFlash('error', 'Your builder profile could not be removed. Please contact the admin.');
     }
     $this->redirect('/dashboard');
 }
Beispiel #8
0
 public function renderContent()
 {
     $featuredBuilders = BuilderProfileApi::getFeaturedBuilder(15, $this->location);
     $this->render('featuredbuilders', array('featuredBuilders' => $featuredBuilders));
 }
Beispiel #9
0
 public function actionSearch()
 {
     Yii::beginProfile('search_property_and_people');
     // Initiate the entities.
     $properties = null;
     $users = null;
     $projects = null;
     $data = null;
     $data_user = null;
     $data_project = null;
     $data_user['user_type'] = 'agent';
     $amenities = null;
     $pages = null;
     $pagesAgent = null;
     $pagesBuilder = null;
     $pagesSpecialists = null;
     $pagesProject = null;
     $criteria = PropertyApi::getCriteriaObject($data);
     $totalProp = Property::model()->count();
     $pages = new CPagination($totalProp);
     $pages->pageSize = Yii::app()->params['resultsPerPage'];
     $pages->applyLimit($criteria);
     $properties = PropertyApi::searchPropertyWithCriteria($criteria);
     $propertiesCount = $totalProp;
     $totalUser = 0;
     $criteria = UserApi::getCriteriaObject($data_user);
     $users = UserApi::searchUser($data_user);
     if ($users) {
         $totalUser = count($users);
     }
     $pagesUser = new CPagination($totalUser);
     $pagesUser->pageSize = Yii::app()->params['resultsPerPage'];
     $pagesUser->applyLimit($criteria);
     $users = UserApi::searchUserWithCriteria($criteria);
     //$users = UserApi::searchUser($data_user);
     $projects = ProjectApi::searchProject($data_project);
     /* Property Model */
     $modelProperty = new Property();
     $modelState = new GeoState();
     $modelCity = new GeoCity();
     $propertyAmenities = new PropertyAmenities();
     // echo '<pre>';var_dump($pages);die();
     /* People Models */
     $modelUser = new UserCredentials();
     $modelProfile = new UserProfiles();
     $modelSpecialistType = new UserSpecialistType();
     /* Project Model */
     $modelProject = new Projects();
     $projectAmenities = new ProjectAmenities();
     if (isset($_POST['search']) && isset($_POST['mode'])) {
         if ($_POST['mode'] == "property") {
             $modelProperty->attributes = $_POST['Property'];
             //$modelProperty['i_want_to'] = isset($_POST['Property']['i_want_to'])?$_POST['Property']['i_want_to'] : null;
             $data = $_POST['Property'];
             $data['keyword'] = isset($_POST['keyword']) ? $_POST['keyword'] : null;
             $data['city'] = $_POST['GeoCity']['city'];
             $data['budget_min'] = $_POST['budget_min'];
             $data['budget_max'] = $_POST['budget_max'];
             $data['without_budget'] = isset($_POST['without_budget']) ? $_POST['without_budget'] : 0;
             $data['PropertyAmenities'] = isset($_POST['amenity_id']) ? $_POST['amenity_id'] : null;
             $data['posted_by_all'] = isset($_POST['posted_by_all']) ? $_POST['posted_by_all'] : 0;
             $data['posted_by'] = isset($_POST['posted_by']) ? $_POST['posted_by'] : null;
             $criteria = PropertyApi::getCriteriaObject($data);
             $totalProp = Property::model()->count();
             $pages = new CPagination($totalProp);
             $pages->pageSize = Yii::app()->params['resultsPerPage'];
             $pages->applyLimit($criteria);
             $properties = PropertyApi::searchPropertyWithCriteria($criteria);
             $propertiesCount = $totalProp;
             //$properties = PropertyApi::searchProperty($data);
         } elseif ($_POST['mode'] == "people") {
             $modelProfile->attributes = $_POST['UserProfiles'];
             $data_user = null;
             $data_user = $_POST['UserProfiles'];
             $data_user['user_type'] = $_POST['user_type'];
             $data_user['property_type_id'] = isset($_POST['property_type_id']) ? $_POST['property_type_id'] : null;
             $data_user['keyword'] = isset($_POST['keyword']) ? $_POST['keyword'] : null;
             $data_user['specialist_type_id'] = isset($_POST['specialist_type_id']) ? $_POST['specialist_type_id'] : null;
             //$users = UserApi::searchUser($data_user);
             if ($_POST['user_type'] == "agent") {
                 $totalAgent = '0';
                 $criteria = AgentProfileApi::getCriteriaObject($data_user);
                 $users = AgentProfileApi::searchAgents($data_user);
                 if ($users) {
                     $totalAgent = count($users);
                 }
                 $pagesAgent = new CPagination($totalAgent);
                 $pagesAgent->pageSize = Yii::app()->params['resultsPerPage'];
                 $pagesAgent->applyLimit($criteria);
                 $users = AgentProfileApi::searchAgentWithCriteria($criteria);
                 //	$users = AgentProfileApi::searchAgents($data_user);
             }
             if ($_POST['user_type'] == "builder") {
                 $totalBuilder = '0';
                 $criteria = BuilderProfileApi::getCriteriaObject($data_user);
                 $users = BuilderProfileApi::searchBuilderWithCriteria($criteria);
                 if ($users) {
                     $totalBuilder = count($users);
                 }
                 $pagesBuilder = new CPagination($totalBuilder);
                 $pagesBuilder->pageSize = Yii::app()->params['resultsPerPage'];
                 $pagesBuilder->applyLimit($criteria);
                 $users = BuilderProfileApi::searchBuilderWithCriteria($criteria);
             }
             if ($_POST['user_type'] == "specialist") {
                 $totalSpecialists = '0';
                 $criteria = SpecialistProfileApi::getCriteriaObject($data_user);
                 $users = SpecialistProfileApi::searchSpecialistsWithCriteria($criteria);
                 if ($users) {
                     $totalSpecialists = count($users);
                 }
                 $pagesSpecialists = new CPagination($totalSpecialists);
                 $pagesSpecialists->pageSize = Yii::app()->params['resultsPerPage'];
                 $pagesSpecialists->applyLimit($criteria);
                 $users = SpecialistProfileApi::searchSpecialistsWithCriteria($criteria);
             }
         } elseif ($_POST['mode'] == "project") {
             $modelProject->attributes = $_POST['Projects'];
             $amenities = isset($_POST['ProjectAmenities']['amenity_id']) ? $_POST['ProjectAmenities']['amenity_id'] : null;
             if ($amenities) {
                 $amenity_data = null;
                 foreach ($amenities as $i => $amenity) {
                     if ($i != 0) {
                         $amenity_data .= ',';
                     }
                     $amenity_data .= $amenity;
                 }
                 $amenities = $amenity_data;
             }
             $data = $_POST['Projects'];
             $data['keyword'] = isset($_POST['keyword']) ? $_POST['keyword'] : null;
             $data['city'] = $_POST['GeoCity']['city'];
             $data['budget_min'] = $_POST['budget_min'];
             $data['budget_max'] = $_POST['budget_max'];
             $data['ProjectAmenities'] = isset($_POST['ProjectAmenities']['amenity_id']) ? $_POST['ProjectAmenities']['amenity_id'] : null;
             $data['posted_by_all'] = isset($_POST['posted_by_all']) ? $_POST['posted_by_all'] : 0;
             $data['posted_by'] = isset($_POST['posted_by']) ? $_POST['posted_by'] : null;
             $totalProject = '0';
             $criteria = ProjectApi::getCriteriaObject($data);
             $users = ProjectApi::searchProjectWithCriteria($criteria);
             if ($users) {
                 $totalProject = count($users);
             }
             $pagesProject = new CPagination($totalProject);
             $pagesProject->pageSize = Yii::app()->params['resultsPerPage'];
             $pagesProject->applyLimit($criteria);
             $projects = ProjectApi::searchProjectWithCriteria($criteria);
         }
     }
     // echo '<br><pre>';var_dump($pages);die();
     $this->render('search', array('pages' => $pages, 'modelState' => $modelState, 'modelProperty' => $modelProperty, 'modelCity' => $modelCity, 'propertyAmenities' => $propertyAmenities, 'modelUser' => $modelUser, 'modelProfile' => $modelProfile, 'modelSpecialistType' => $modelSpecialistType, 'properties' => $properties, 'amenities' => $amenities, 'users' => $users, 'modelProject' => $modelProject, 'projectAmenities' => $projectAmenities, 'projects' => $projects, 'pagesAgent' => $pagesAgent, 'pagesUser' => $pagesUser, 'pagesBuilder' => $pagesBuilder, 'pagesSpecialists' => $pagesSpecialists, 'pagesProject' => $pagesProject, 'propertiesCount' => $propertiesCount));
     $this->render('search', array('pages' => $pages, 'modelProperty' => $modelProperty, 'modelCity' => $modelCity, 'propertyAmenities' => $propertyAmenities, 'modelUser' => $modelUser, 'modelProfile' => $modelProfile, 'modelSpecialistType' => $modelSpecialistType, 'properties' => $properties, 'amenities' => $amenities, 'users' => $users, 'modelProject' => $modelProject, 'projectAmenities' => $projectAmenities, 'projects' => $projects, 'pagesAgent' => $pagesAgent, 'pagesUser' => $pagesUser, 'pagesBuilder' => $pagesBuilder, 'pagesSpecialists' => $pagesSpecialists, 'pagesProject' => $pagesProject, 'propertiesCount' => $propertiesCount));
     $this->render('search', array('pages' => $pages, 'modelProperty' => $modelProperty, 'modelCity' => $modelCity, 'propertyAmenities' => $propertyAmenities, 'modelUser' => $modelUser, 'modelProfile' => $modelProfile, 'modelSpecialistType' => $modelSpecialistType, 'properties' => $properties, 'amenities' => $amenities, 'users' => $users, 'modelProject' => $modelProject, 'projectAmenities' => $projectAmenities, 'projects' => $projects, 'pagesAgent' => $pagesAgent, 'pagesUser' => $pagesUser, 'pagesBuilder' => $pagesBuilder, 'pagesSpecialists' => $pagesSpecialists, 'pagesProject' => $pagesProject, 'propertiesCount' => $propertiesCount));
     Yii::endProfile('search_property_and_people');
 }
Beispiel #10
0
 protected function renderContent()
 {
     $topBuilders = BuilderProfileApi::getTopBuilder(15, $this->location);
     $this->render("topbuilders", array('topBuilders' => $topBuilders));
 }
Beispiel #11
0
 public function actionPeople()
 {
     Yii::beginProfile('search_people');
     $session = new CHttpSession();
     $session->open();
     //$session->destroy();
     // Initiate the entities.
     $users = null;
     $data = null;
     $modelUser = new UserCredentials();
     $modelProfile = new UserProfiles();
     $modelSpecialistType = new UserSpecialistType();
     $modelState = new GeoState();
     $modelCity = new GeoCity();
     $modelLocality = new GeoLocality();
     if (isset($_POST['GeoCity'])) {
         $modelCity->attributes = $_POST['GeoCity'];
     }
     if (isset($_POST['user_type'])) {
         //$data = $_POST['UserProfiles'];
         $data['user_type'] = $_POST['user_type'];
         $data['property_type_id'] = isset($_POST['property_type_id']) ? $_POST['property_type_id'] : null;
         $data['state_id'] = isset($_POST['GeoState']['state']) ? $_POST['GeoState']['state'] : null;
         $data['city_id'] = isset($_POST['GeoCity']['city']) ? $_POST['GeoCity']['city'] : null;
         $data['keyword'] = isset($_POST['keyword']) ? $_POST['keyword'] : null;
         $data['specialist_type_id'] = isset($_POST['specialist_type_id']) ? $_POST['specialist_type_id'] : null;
         $data['locality_id'] = isset($_POST['GeoLocality']['locality']) ? $_POST['GeoLocality']['locality'] : '';
         if ($data['specialist_type_id'][0] == '') {
             $data['specialist_type_id'] = null;
         }
         if ($data['locality_id'] != '') {
             $locality = GeoLocality::model()->find('locality=:locality', array(':locality' => $data['locality_id']));
             if ($locality) {
                 $data['locality_id'] = $locality->id;
             }
         }
         $totalResults = 0;
         if ($_POST['user_type'] == "agent") {
             $criteria = AgentProfileApi::getCriteriaObject($data);
             $totalResults = UserCredentials::model()->count($criteria);
             $pages = new CPagination($totalResults);
             $pages->pageSize = Yii::app()->params['resultsPerPage'];
             $pages->applyLimit($criteria);
             $users = AgentProfileApi::searchAgentWithCriteria($criteria);
             if (isset($_SERVER['HTTP_REFERER'])) {
                 unset($session['search-criteria-user-type']);
             }
             $session['search-criteria-user-type'] = 'agent';
         }
         if ($_POST['user_type'] == "builder") {
             $criteria = BuilderProfileApi::getCriteriaObject($data);
             $totalResults = UserCredentials::model()->count($criteria);
             $pages = new CPagination($totalResults);
             $pages->pageSize = Yii::app()->params['resultsPerPage'];
             $pages->applyLimit($criteria);
             $users = BuilderProfileApi::searchBuilderWithCriteria($criteria);
             if (isset($_SERVER['HTTP_REFERER'])) {
                 unset($session['search-criteria-user-type']);
             }
             $session['search-criteria-user-type'] = 'builder';
         }
         if ($_POST['user_type'] == "specialist") {
             $criteria = SpecialistProfileApi::getCriteriaObject($data);
             $totalResults = UserCredentials::model()->count($criteria);
             $pages = new CPagination($totalResults);
             $pages->pageSize = Yii::app()->params['resultsPerPage'];
             $pages->applyLimit($criteria);
             $users = SpecialistProfileApi::searchSpecialistsWithCriteria($criteria);
             if (isset($_SERVER['HTTP_REFERER'])) {
                 unset($session['search-criteria-user-type']);
             }
             $session['search-criteria-user-type'] = 'specialist';
         }
         $session['search-criteria-user'] = $criteria;
         $session['results-page'] = $totalResults;
     } else {
         if (isset($_SERVER['HTTP_REFERER'])) {
             unset($session['search-criteria-user-type']);
             unset($session['search-criteria-user']);
         }
         if (isset($session['search-criteria-user']) && isset($session['search-criteria-user-type'])) {
             $criteria = $session['search-criteria-user'];
             $userType = $session['search-criteria-user-type'];
             if ($userType == "agent") {
                 $data['user_type'] = 'agent';
                 $totalResults = UserCredentials::model()->count($criteria);
                 $pages = new CPagination($totalResults);
                 $pages->pageSize = Yii::app()->params['resultsPerPage'];
                 $pages->applyLimit($criteria);
                 $users = AgentProfileApi::searchAgentWithCriteria($criteria);
             } elseif ($userType == "builder") {
                 $data['user_type'] = 'builder';
                 $totalResults = UserCredentials::model()->count($criteria);
                 $pages = new CPagination($totalResults);
                 $pages->pageSize = Yii::app()->params['resultsPerPage'];
                 $pages->applyLimit($criteria);
                 $users = BuilderProfileApi::searchBuilderWithCriteria($criteria);
             } else {
                 $data['user_type'] = 'specialist';
                 $totalResults = UserCredentials::model()->count($criteria);
                 $pages = new CPagination($totalResults);
                 $pages->pageSize = Yii::app()->params['resultsPerPage'];
                 $pages->applyLimit($criteria);
                 $users = SpecialistProfileApi::searchSpecialistsWithCriteria($criteria);
             }
         } else {
             $data['user_type'] = 'agent';
             $criteria = AgentProfileApi::getCriteriaObject($data);
             $totalResults = UserCredentials::model()->count($criteria);
             $pages = new CPagination($totalResults);
             $pages->pageSize = Yii::app()->params['resultsPerPage'];
             $pages->applyLimit($criteria);
             $users = AgentProfileApi::searchAgentWithCriteria($criteria);
         }
     }
     $this->render('people', array('pages' => $pages, 'modelState' => $modelState, 'modelUser' => $modelUser, 'modelProfile' => $modelProfile, 'modelCity' => $modelCity, 'modelLocality' => $modelLocality, 'modelSpecialistType' => $modelSpecialistType, 'users' => $users, 'totalResults' => $totalResults, 'userType' => $data['user_type']));
     Yii::endProfile('search_people');
 }