Ejemplo n.º 1
0
 public function prepareRequestData(Request $requestObject, $endpoint)
 {
     $apiRequest = new ApiRequestObject();
     $apiRequest->setAttributesByArray($requestObject);
     $requestValidation = $this->validateRequest($apiRequest, $endpoint);
     if ($requestValidation === true) {
         return $apiRequest;
     } elseif ($requestValidation == false) {
         return ['status' => Strings::API_STATUS_FATAL, 'reason' => Strings::API_REASON_INVALID_SESSION, 'msg' => Strings::API_MSG_INVALID_SESSION];
     } elseif ($requestValidation == 'status') {
         return ['status' => Strings::API_STATUS_SUCCESS, 'reason' => Strings::API_REASON_SUCCESS, 'msg' => Strings::API_MSG_STATUS_ONLINE];
     } elseif ($requestValidation == 'invalid') {
         return ['status' => Strings::API_STATUS_FATAL, 'reason' => Strings::API_REASON_MISSING_PARAMS, 'msg' => Strings::API_MSG_MISSING_PARAMS];
     }
 }
Ejemplo n.º 2
0
 /**
  * Select airport data within constraints
  * @author zbrown
  *
  * @param $lat
  * @param $lon
  * @param $limit
  * @param $max
  * @return bool
  * @throws \Doctrine\DBAL\DBALException
  */
 private function findNearAirport(ApiRequestObject $apiRequest)
 {
     $latitude = $apiRequest->getLatitude();
     $longitude = $apiRequest->getLongitude();
     $limit = $apiRequest->getLimit();
     $max = $apiRequest->getMaximum();
     $qb = $this->getDoctrine()->getEntityManager()->getConnection();
     $q = $qb->prepare('SELECT name, type, icao_code, iata_code, X(GeomFromText(coordinates_wkt)) AS latitude, Y(GeomFromText(coordinates_wkt)) AS longitude, SQRT( POW(69.1 * (X(GeomFromText(coordinates_wkt)) - :lat), 2) + POW(69.1 * (:lon - Y(GeomFromText(coordinates_wkt))) * COS(X(GeomFromText(coordinates_wkt)) / 57.3), 2)) AS distance FROM airports HAVING distance < :max ORDER BY distance ASC LIMIT ' . $limit);
     $q->bindValue('lat', $latitude);
     $q->bindValue('lon', $longitude);
     $q->bindValue('max', $max);
     return $q->execute();
 }
Ejemplo n.º 3
0
 /**
  * Determine session type
  * @author zbrown
  *
  * @param ApiRequestObject $apiRequest
  * @return string
  */
 public function getSessionType(ApiRequestObject $apiRequest)
 {
     //2 = Normal API requests, 1 = API Status Check
     if ($apiRequest->getSessionToken() == Config::API_STATUS_CHECK_SESSION_TOKEN || $apiRequest->getPublicKey() == Config::API_STATUS_CHECK_PUBLIC_KEY) {
         return '1';
     } else {
         return '2';
     }
 }