public function prepareSearchAttribtues() { $this->keyword = JRequest::getVar('searchkeyword'); $this->keywordLocation = JRequest::getVar('searchkeywordLocation'); $this->categoryId = JRequest::getVar('categoryId', null); $this->citySearch = JRequest::getVar('citySearch', null); $this->typeSearch = JRequest::getVar('typeSearch', null); $this->regionSearch = JRequest::getVar('regionSearch', null); $this->countrySearch = JRequest::getVar('countrySearch', null); $this->categorySearch = JRequest::getVar('categorySearch'); $this->zipCode = JRequest::getVar('zipcode'); $this->radius = JRequest::getVar('radius'); $this->preserve = JRequest::getVar('preserve', null); $resetSearch = JRequest::getVar('resetSearch', null); if (!empty($this->categorySearch) || isset($this->preserve)) { $this->categoryId = $this->categorySearch; } $session = JFactory::getSession(); if (isset($this->categoryId) || !empty($resetSearch)) { $session->set('categorySearch', $this->categoryId); $session->set('searchkeyword', ""); $session->set('searchkeywordLocation', ""); $session->set('typeSearch', ""); $session->set('citySearch', ""); $session->set('regionSearch', ""); $session->set('countrySearch', ""); $session->set('zipcode', ""); $session->set('customAtrributes', ""); } if (isset($this->typeSearch)) { $session->set('typeSearch', $this->typeSearch); } if (isset($this->citySearch)) { $session->set('citySearch', $this->citySearch); } if (isset($this->regionSearch)) { $session->set('regionSearch', $this->regionSearch); } if (isset($this->countrySearch)) { $session->set('countrySearch', $this->countrySearch); } if (isset($this->keyword)) { $session->set('searchkeyword', $this->keyword); } if (isset($this->keywordLocation)) { $session->set('searchkeywordLocation', $this->keywordLocation); } if (isset($this->zipCode)) { $session->set('zipcode', $this->zipCode); } if (isset($this->radius)) { $session->set('radius', $this->radius); } $this->keyword = $session->get('searchkeyword'); $this->keywordLocation = $session->get('searchkeywordLocation'); $this->typeSearch = $session->get('typeSearch'); $this->citySearch = $session->get('citySearch'); $this->regionSearch = $session->get('regionSearch'); $this->countrySearch = $session->get('countrySearch'); $this->categorySearch = $session->get('categorySearch'); $this->zipCode = $session->get('zipcode'); $this->radius = $session->get('radius'); $this->location = null; $geolocation = JRequest::getVar('geolocation', null); if (isset($geolocation)) { $session->set("geolocation", $geolocation); } $geolocation = $session->get("geolocation"); // test if geo location is determined and set location array if ($this->appSettings->enable_geolocation && $geolocation) { $geoLatitutde = JRequest::getVar('geo-latitude', null); $geoLongitude = JRequest::getVar('geo-longitude', null); if (!empty($geoLatitutde)) { $session->set('geo-latitude', $geoLatitutde); } if (!empty($geoLongitude)) { $session->set('geo-longitude', $geoLongitude); } $geoLatitutde = $session->get('geo-latitude'); $geoLongitude = $session->get('geo-longitude'); if (!empty($geoLatitutde) && !empty($geoLongitude)) { $this->location = array(); $this->location["latitude"] = $geoLatitutde; $this->location["longitude"] = $geoLongitude; } } $this->featured = JRequest::getVar('featured', null); if ($this->appSettings->metric == 0) { $this->radius = $this->radius * 0.621371; } $this->enablePackages = $this->appSettings->enable_packages; $this->showPendingApproval = $this->appSettings->show_pending_approval == 1; if (isset($this->zipCode) && $this->zipCode != "") { $this->location = JBusinessUtil::getCoordinates($this->zipCode); } if (!empty($this->location)) { $session->set("location", $this->location); } //prepare custom attributes $data = JRequest::get('post'); $this->customAtrributes = array(); foreach ($data as $key => $value) { if (strpos($key, "attribute") === 0) { $attributeId = explode("_", $key); $attributeId = $attributeId[1]; if (!empty($value)) { $this->customAtrributes[$attributeId] = $value; } } } if (!empty($this->customAtrributes)) { foreach ($this->customAtrributes as &$customAttribute) { if (is_array($customAttribute)) { $customAttribute = implode(",", $customAttribute); } } $session->set('customAtrributes', $this->customAtrributes); } $this->customAtrributes = $session->get('customAtrributes'); }
function __construct() { parent::__construct(); $this->appSettings = JBusinessUtil::getInstance()->getApplicationSettings(); $this->searchFilter = array(); $this->keyword = JRequest::getVar('searchkeyword'); $this->categoryId = JRequest::getVar('categoryId', null); $this->citySearch = JRequest::getVar('citySearch', null); $this->regionSearch = JRequest::getVar('regionSearch', null); $this->categorySearch = JRequest::getVar('categorySearch'); $this->zipCode = JRequest::getVar('zipcode'); $this->radius = JRequest::getVar('radius'); $this->preserve = JRequest::getVar('preserve', null); $this->orderBy = JRequest::getVar("orderBy", ""); if (isset($this->categorySearch) || isset($this->preserve)) { $this->categoryId = $this->categorySearch; } $session = JFactory::getSession(); if (isset($this->categoryId)) { $session->set('of-categorySearch', $this->categoryId); $session->set('of-searchkeyword', ""); $session->set('of-citySearch', ""); $session->set('of-regionSearch', ""); } if (isset($this->citySearch)) { $session->set('of-citySearch', $this->citySearch); } if (isset($this->regionSearch)) { $session->set('of-regionSearch', $this->regionSearch); } if (isset($this->keyword)) { $session->set('of-searchkeyword', $this->keyword); } if (isset($this->zipCode)) { $session->set('of-zipcode', $this->zipCode); } if (isset($this->radius)) { $session->set('of-radius', $this->radius); } $this->keyword = $session->get('of-searchkeyword'); $this->citySearch = $session->get('of-citySearch'); $this->regionSearch = $session->get('of-regionSearch'); $this->categorySearch = $session->get('of-categorySearch'); $this->zipCode = $session->get('of-zipcode'); $this->radius = $session->get('of-radius'); $this->location = null; if ($this->appSettings->metric == 0) { $this->radius = $this->radius * 0.621371; } $mainframe = JFactory::getApplication(); // Get pagination request variables $limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int'); $limitstart = JRequest::getVar('limitstart', 0, '', 'int'); // In case limit has been changed, adjust it $limitstart = $limit != 0 ? floor($limitstart / $limit) * $limit : 0; $this->setState('limit', $limit); $this->setState('limitstart', $limitstart); $appSettings = JBusinessUtil::getInstance()->getApplicationSettings(); $this->enablePackages = $appSettings->enable_packages; $this->showPendingApproval = $appSettings->show_pending_approval == 1; if (isset($this->zipCode) && $this->zipCode != "") { $this->location = JBusinessUtil::getCoordinates($this->zipCode); } }