public function getMemberAdvertisements($memberID, $currentPage, $pagingAmount, $dbConnection) { $advertisementSearchResults = null; $advertisementSkeletons = null; try { //Construct Search Parameter object $advertisementSearchParameters = new SearchParameters(); $advertisementSearchParameters->setVariable(SearchConstants::CURRENT_PAGE_ID, $currentPage); $advertisementSearchParameters->setVariable(SearchConstants::PAGING_AMOUNT_ID, $pagingAmount); $advertisementSearchParameters->setVariable(AdvertisementSearchConstants::MEMBER_INPUT_ID, $memberID); $advertisementCount = AdvertisementSearchDao::getSearchAdvertisementsCount($advertisementSearchParameters, $dbConnection); $advertisementSkeletons = AdvertisementSearchDao::searchAdvertisements($advertisementSearchParameters, $dbConnection); $advertisementSearchResults = new SearchResults(); $advertisementSearchResults->setVariable(SearchResults::SEARCH_PARAMETERS, $advertisementSearchParameters); $advertisementSearchResults->setVariable(SearchResults::SKELETONS, $advertisementSkeletons); $advertisementSearchResults->setVariable(SearchResults::COUNT, $advertisementCount); $advertisementSearchResults->setVariable(SearchResults::PAGE_COUNT, ceil($advertisementCount / $pagingAmount)); } catch (Exception $ex) { $advertisementSearchResults = null; echo 'Caught exception: ' . $ex->getMessage(); } return $advertisementSearchResults; }
public function searchAdvertisements($advertisementSearchParameters, $dbConnection = null) { $advertisementsList = null; $preparedStatement = null; try { $advertisementSearchQuery = null; $advertisementIDQuery = null; if ($dbConnection == null) { $dbConnection = DatabaseUtilities::getDatabaseConnection(); } $advertisementIDQuery = "SELECT DISTINCT AD.ADVERTISEMENT_ID FROM advertisement AD WHERE 1 = 1"; $advertisementIDQuery .= AdvertisementSearchDao::getAdvertisementSearchWhereClause($advertisementSearchParameters); $advertisementSearchQuery = AdvertisementSearchDao::ADVERTISEMENT_SEARCH_SELECT; $advertisementSearchQuery .= " AND AD.ADVERTISEMENT_ID IN (" . $advertisementIDQuery . ")\n\t\t\t\t\t\t\t\t\t\t\t\tORDER BY AD.CREATED_DATE DESC\n\t\t\t\t\t\t\t\t\t\t\t\tLIMIT :pagingAmount OFFSET :startingPoint"; $preparedStatement = AdvertisementSearchDao::getAdvertisementSearchPreparedStatement($advertisementSearchQuery, $advertisementSearchParameters, $dbConnection); //Add paging parameters. $startingPoint = 0; $currentPage = $advertisementSearchParameters->getVariable(SearchConstants::CURRENT_PAGE_ID); $pagingAmount = $advertisementSearchParameters->getVariable(SearchConstants::PAGING_AMOUNT_ID); if ($currentPage > 1) { $startingPoint = ($currentPage - 1) * $pagingAmount; } $pagingAmount = (int) $pagingAmount; $startingPoint = (int) $startingPoint; $preparedStatement->bindParam(":pagingAmount", $pagingAmount, PDO::PARAM_INT); $preparedStatement->bindParam(":startingPoint", $startingPoint, PDO::PARAM_INT); $preparedStatement->execute(); while ($result = $preparedStatement->fetch()) { $advertisement = AdvertisementSearchDao::extractAdvertisementSearchObject($result); if ($advertisement !== null) { $advertisementsList[] = $advertisement; } } $preparedStatement = null; } catch (Exception $ex) { echo $ex->getMessage(); $advertisementsList = null; } $preparedStatement = null; return $advertisementsList; }
public function browseAdvertisementByLocation($country, $state, $city, $region, $searchType, $currentPage, $pagingAmount, $dbConnection = null) { $advertisementSearchResults = null; $advertisementSkeletons = null; $countryID = null; $stateID = null; $cityID = null; $regionID = null; try { //Construct Search Parameter object $advertisementSearchParameters = new SearchParameters(); $advertisementSearchParameters->setVariable(SearchConstants::CURRENT_PAGE_ID, $currentPage); $advertisementSearchParameters->setVariable(SearchConstants::PAGING_AMOUNT_ID, $pagingAmount); //These elements are common to both search types $countryID = SearchUtilities::processSelectValues($country, 'defaultValue', '0'); if ($countryID != null) { $stateID = SearchUtilities::processSelectValues($state, 'defaultValue', '0'); } if ($stateID != null) { $cityID = SearchUtilities::processSelectValues($city, 'defaultValue', '0'); } if ($cityID != null) { $regionID = SearchUtilities::processSelectValues($region, 'defaultValue', '0'); } $advertisementSearchParameters->setVariable(LocationConstants::LOCATION_COUNTRY_INPUT_ID, $countryID); $advertisementSearchParameters->setVariable(LocationConstants::LOCATION_STATE_INPUT_ID, $stateID); $advertisementSearchParameters->setVariable(LocationConstants::LOCATION_CITY_INPUT_ID, $cityID); $advertisementSearchParameters->setVariable(LocationConstants::LOCATION_REGION_INPUT_ID, $regionID); $advertisementCount = AdvertisementSearchDao::getSearchAdvertisementsCount($advertisementSearchParameters, $dbConnection); $advertisementSkeletons = AdvertisementSearchDao::searchAdvertisements($advertisementSearchParameters, $dbConnection); $advertisementSearchResults = new SearchResults(); $advertisementSearchResults->setVariable(SearchResults::SEARCH_PARAMETERS, $advertisementSearchParameters); $advertisementSearchResults->setVariable(SearchResults::SKELETONS, $advertisementSkeletons); $advertisementSearchResults->setVariable(SearchResults::COUNT, $advertisementCount); $advertisementSearchResults->setVariable(SearchResults::PAGE_COUNT, ceil($advertisementCount / $pagingAmount)); } catch (Exception $e) { $advertisementSearchResults = null; echo 'Caught exception: ', $e->getMessage(), "\n"; } return $advertisementSearchResults; }