/** * Sends a request to the API for getting an advertisement. * * @method getAdvertisement * * @param {string} $category category of the add requested. * @param {string} $udid specifies a universally unique identifier, which must be at least 30 characters in length. * @param {string} $userAgent user agent string to send to API. * @param {Object} $optArgs any optional Key/Value JSON for API parameters. * * @return {Response} Returns Response object * @throws ServiceException if API request was not successful. */ public function getAdvertisement($category, $udid, $userAgent, $getParams) { $token = $this->getCurrentClientToken(); $adsSrvc = new ADSService($this->base_url, $token); $optArgs = new OptArgs(); /* $keys = array( 'AgeGroup', 'AreaCode', 'City', 'Country', 'Gender', 'Keywords', 'Latitude', 'Longitude', 'MaxHeight', 'MaxWidth', 'MinHeight', 'MinWidth', 'Type', 'ZipCode' ); */ if (isset($getParams["AgeGroup"])) { $optArgs->setAgeGroup(urldecode($getParams["AgeGroup"])); } if (isset($getParams["AreaCode"])) { $optArgs->setAreaCode(urldecode($getParams["AreaCode"])); } if (isset($getParams["City"])) { $optArgs->setCity(urldecode($getParams["City"])); } if (isset($getParams["Country"])) { $optArgs->setCountry(urldecode($getParams["Country"])); } if (isset($getParams["Gender"])) { $optArgs->setGender(urldecode($getParams["Gender"])); } if (isset($getParams["Keywords"])) { $optArgs->setKeywords(explode(',', urldecode($getParams["Keywords"]))); } if (isset($getParams["Latitude"])) { $optArgs->setLatitude(urldecode($getParams["Latitude"])); } if (isset($getParams["Longitude"])) { $optArgs->setLongitude(urldecode($getParams["Longitude"])); } if (isset($getParams["MaxHeight"])) { $optArgs->setMaxHeight(urldecode($getParams["MaxHeight"])); } if (isset($getParams["MaxWidth"])) { $optArgs->setMaxWidth(urldecode($getParams["MaxWidth"])); } if (isset($getParams["MinHeight"])) { $optArgs->setMinHeight(urldecode($getParams["MinHeight"])); } if (isset($getParams["MinWidth"])) { $optArgs->setMinWidth(urldecode($getParams["MinWidth"])); } if (isset($getParams["Type"])) { $optArgs->setAdType(urldecode($getParams["Type"])); } if (isset($getParams["ZipCode"])) { $optArgs->setZipCode(urldecode($getParams["ZipCode"])); } return $adsSrvc->getAdvertisement($category, $udid, $userAgent, $optArgs, true); }
function parseArgs() { $optArgs = new OptArgs(); if (isset($_POST['mmaSize']) && $_POST['mmaSize'] != "") { $mma = $_POST['mmaSize']; $mmaSplit = explode(' x ', $mma); $optArgs->setMaxWidth($mmaSplit[0]); $optArgs->setMinWidth($mmaSplit[0]); $optArgs->setMaxHeight($mmaSplit[1]); $optArgs->setMinHeight($mmaSplit[1]); } if (isset($_POST['keywords']) && $_POST['keywords'] != "") { $keywords = explode(',', $_POST['keywords']); $optArgs->setKeywords($keywords); } if (isset($_POST['ageGroup']) && $_POST['ageGroup'] != "") { $optArgs->setAgeGroup($_POST['ageGroup']); } if (isset($_POST['gender']) && $_POST['gender'] != "") { $optArgs->setGender($_POST['gender']); } if (isset($_POST['zipCode']) && $_POST['zipCode'] != "") { $optArgs->setZipCode($_POST['zipCode']); } if (isset($_POST['city']) && $_POST['city'] != "") { $optArgs->setCity($_POST['city']); } if (isset($_POST['areaCode']) && $_POST['areaCode'] != "") { $optArgs->setAreaCode($_POST['areaCode']); } if (isset($_POST['country']) && $_POST['country'] != "") { $optArgs->setCountry($_POST['country']); } if (isset($_POST['latitude']) && $_POST['latitude'] != "") { $optArgs->setLatitude($_POST['latitude']); } if (isset($_POST['longitude']) && $_POST['longitude'] != "") { $optArgs->setLongitude($_POST['longitude']); } return $optArgs; }
/** * Convenience method to append any optional arguments to the specified * <var>$httpGet</var> object. * * @param HttpGet $httpGet HttpGet object to append to * @param OptArgs $optArgs optional arguments used for appending * * @return void */ private function _appendOptArgs(HttpGet $httpGet, OptArgs $optArgs) { $keys = array('AgeGroup', 'AreaCode', 'City', 'Country', 'Gender', 'Keywords', 'Latitude', 'Longitude', 'MaxHeight', 'MaxWidth', 'MinHeight', 'MinWidth', 'Type', 'ZipCode'); $keywords = $optArgs->getKeywords(); if ($keywords !== null) { $keywords = implode(',', $optArgs->getKeywords()); } $vals = array($optArgs->getAgeGroup(), $optArgs->getAreaCode(), $optArgs->getCity(), $optArgs->getCountry(), $optArgs->getGender(), $keywords, $optArgs->getLatitude(), $optArgs->getLongitude(), $optArgs->getMaxHeight(), $optArgs->getMaxWidth(), $optArgs->getMinHeight(), $optArgs->getMinWidth(), $optArgs->getAdType(), $optArgs->getZipCode()); for ($i = 0; $i < count($keys); ++$i) { $key = $keys[$i]; $val = $vals[$i]; if ($val != null) { $httpGet->setParam($key, $val); } } }