public function getDetails($isbn = null) { if ($isbn != null && apiUtils::isValidISBN($isbn)) { $url = MessageFormatter::formatMessage("nl_NL", BookloveApi::baseUrl . BookloveApi::editionInfoEndpoint, array($this->apikey, $isbn)); if (BookReviewUtil::containsBook($isbn)) { return BookReviewUtil::getBookInfo($isbn); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); if ($response !== false) { return $response; } return null; } }
$pageSize = 10; $page = 1; $paramPage = $app->request->get('page'); $paramPageSize = $app->request->get('pageSize'); if ($paramPageSize != null) { $pageSize = $paramPageSize; } if ($paramPage != null && $paramPage >= 1) { $page = $paramPage; } $reviews = BookReviewUtil::listReviews($page, $pageSize); $app->response->setBody(json_encode($reviews)); }); $app->get('/v1/reviews/authors', function () use($app) { $authors = BookReviewUtil::getAuthors(); $app->response->setBody(json_encode($authors)); }); $app->get('/v1/reviews/genres', function () use($app) { $authors = BookReviewUtil::getGenres(); $app->response->setBody(json_encode($authors)); }); $app->post('/v1/review/', function () use($app, $bookLoveApi) { $data = json_decode($app->request->getBody(), TRUE); BookReviewUtil::addBook($data); BookReviewUtil::addReview($data); }); $app->delete('/v1/review/:id', function ($id) use($app) { echo $id; BookReviewUtil::removeReview($id); }); $app->run();
static function listReviews($page = 1, $pageSize = 10) { if ($page > 1) { $offset = $page * $pageSize; } else { $offset = 0; } $conn = BookReviewUtil::getConnection(); $stmt = $conn->prepare(BookReviewUtil::QUERY_LIST_REVIEWS); $stmt->bindParam(":offset", $offset, PDO::PARAM_INT); $stmt->bindParam(":pagesize", $pageSize, PDO::PARAM_INT); if ($stmt->execute()) { return $stmt->fetchAll(PDO::FETCH_ASSOC); } // TODO Add error handling. }