function toArrayOfObjects($res, $is_search = false) { $arr = array(); foreach ($res as $obj) { if ($is_search) { $arr[] = SearchObject::fromResponse($obj); } else { $arr[] = Object::fromResponse($obj); } } return $arr; }
/** * Parse request data and return a SearchObject * * @param Array $postArr Array of POST variables * @param Array $getArr Array of GET variables * * @return SearchObject Search object with parsed data */ public function parseSearchData($postArr, $getArr) { $searchObject = new SearchObject(); $pageNo = isset($postArr['pageNO']) ? (int) $postArr['pageNO'] : 1; $searchObject->setPageNumber($pageNo); if (isset($postArr['captureState']) && $postArr['captureState'] == 'SearchMode') { $searchField = $postArr['loc_code']; $searchString = trim($postArr['loc_name']); $searchObject->setSearchField($searchField); $searchObject->setSearchString($searchString); } if (!isset($getArr['sortField'])) { $getArr['sortField'] = 0; } $sortOrderField = 'sortOrder' . $getArr['sortField']; if (!isset($getArr[$sortOrderField])) { $getArr[$sortOrderField] = 'ASC'; } $sortField = $getArr['sortField']; $sortOrder = $getArr[$sortOrderField]; $searchObject->setSortField($sortField); $searchObject->setSortOrder($sortOrder); return $searchObject; }
public function searchContacts(SearchObject $search) { if ($search == null) { return null; } //search contact by name if ($search->getName() != null) { if ($search->getFirstName() != null) { $result = $this->getContactByName($search->getFirstName(), $search->getName()); } else { echo $search->getFirstName(); $result = $this->getContactByName(null, $search->getName()); } if ($result == []) { return null; } return $result; } //get contact by company if ($search->getCompany() != null) { $result = $this->getContactByCompany($search->getCompany()); if ($result == []) { return null; } return $result; } //search by Type if ($search->getTypeName() != null && $search->getAddress() == null) { $typeId = $this->typeService->getTypeIdByLabel($search->getTypeName()); if ($typeId != null && $typeId != -1) { $result = $this->getContactByTypeId($typeId); if ($result == []) { return null; } return $result; } } //search by address + rayon if ($search->getAddress() != null && $search->getAddress()->getLatitude() != null && $search->getAddress()->getLongitude() != null && $search->getRayon() != null && $search->getTypeName() == null) { $result = $this->getContactsbyAddressAndRayon($search->getAddress(), $search->getRayon(), null, null); if ($result == []) { return null; } return $result; } //search by type + address + rayon if ($search->getAddress() != null && $search->getAddress()->getLatitude() != null && $search->getAddress()->getLongitude() != null && $search->getRayon() != null && $search->getTypeName() != null) { $typeId = $this->typeService->getTypeIdByLabel($search->getTypeName()); if ($typeId != null && $typeId != -1) { $result = $this->getContactsbyAddressAndRayon($search->getAddress(), $search->getRayon(), $typeId, null); if ($result == []) { return null; } return $result; } } //search by company + address + rayon if ($search->getAddress() != null && $search->getAddress()->getLatitude() != null && $search->getAddress()->getLongitude() != null && $search->getRayon() != null && $search->getCompany() != null) { $result = $this->getContactsbyAddressAndRayon($search->getAddress(), $search->getRayon(), null, $search->getCompany()); if ($result == []) { return null; } return $result; } return null; }
function searchObjectParser($data) { $searchObject = new SearchObject(); if (isset($data['firstName'])) { $searchObject->setFirstName($data['firstName']); } if (isset($data['name'])) { $searchObject->setName($data['name']); } if (isset($data['company'])) { $searchObject->setCompany($data['company']); } if (isset($data['address'])) { $dataAddress = $data['address']; $address = new Address(); if (isset($dataAddress['line1'])) { $address->setLine1($dataAddress['line1']); } if (isset($dataAddress['line2'])) { $address->setLine2($dataAddress['line2']); } if (isset($dataAddress['zipCode'])) { $address->setZipCode($dataAddress['zipCode']); } if (isset($dataAddress['city'])) { $address->setCity($dataAddress['city']); } if (isset($dataAddress['latitude']) && isset($dataAddress['longitude'])) { $address->setLatitude($dataAddress['latitude']); $address->setLongitude($dataAddress['longitude']); } else { $mapService = new GoogleMapService(); $latlng = $mapService->getLatLong($address); if ($latlng != [] && sizeof($latlng) == 2) { $address->setLatitude($latlng[0]); $address->setLongitude($latlng[1]); } } $searchObject->setAddress($address); } if (isset($data['typeName'])) { $searchObject->setTypeName($data['typeName']); } if (isset($data['rayon'])) { $searchObject->setRayon($data['rayon']); } return $searchObject; }
private function _getDefaultSearchObject() { $searchObj = new SearchObject(); $searchObj->setPageNumber(1); $searchObj->setSearchField(SearchObject::SEARCH_FIELD_NONE); $searchObj->setSearchString(''); $searchObj->setSortField(0); $searchObj->setSortOrder(SearchObject::SORT_ORDER_ASC); return $searchObj; }