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; } }
static function addBook($data) { if (BookReviewUtil::containsBook($data['isbn'])) { return true; } $conn = BookReviewUtil::getConnection(); $stmt = $conn->prepare(BookReviewUtil::QUERY_INSERT_BOOK); // first we need to fix the data. This rest api tends to leave things out of they are empty.. if (!array_key_exists('edition_id', $data)) { $data['edition_id'] = 0; } if (!array_key_exists('productsize', $data)) { $data['productsize'] = ""; } if (!array_key_exists('productform', $data)) { $data['productform'] = ""; } if (!array_key_exists('link', $data)) { $data['link'] = ""; } if (!array_key_exists('averagerating', $data)) { $data['averagerating'] = "0/0"; } if (!array_key_exists('image', $data)) { $data['image'] = ""; } if (!array_key_exists('yearofpublication', $data)) { $data['yearofpublication'] = "19700101"; } if (!array_key_exists('publisher', $data)) { $data['publisher'] = ""; } if (!array_key_exists('author', $data)) { $data['author'] = ""; } if (!array_key_exists('title', $data)) { $data['title'] = ""; } if (!array_key_exists('flaptext', $data)) { $data['flaptext'] = ""; } if (!array_key_exists('translator', $data)) { $data['translator'] = ""; } if (!array_key_exists('isbn', $data)) { throw new Exception("ISBN is a mandatory field"); } if (!array_key_exists('editionnumber', $data)) { $data['editionnumber'] = ""; } if (!array_key_exists('nur', $data)) { $data['nur']['code'] = 0; } $stmt->bindParam(":edition_id", intval($data['edition_id'])); $stmt->bindParam(":productsize", $data['productsize']); $stmt->bindParam(":productform", $data['productform']); $stmt->bindParam(":link", $data['link']); $avgRating = $data['averagerating']; $avgRating = substr($avgRating, 0, strrpos($avgRating, "/")); $stmt->bindParam(":averagerating", doubleval($avgRating)); $stmt->bindParam(":image", $data['image']); $dateTime = DateTime::createFromFormat("Ymd", $data['yearofpublication']); $stmt->bindParam(":yearofpublication", $data['yearofpublication']); $stmt->bindParam(":publisher", $data['publisher']); $stmt->bindParam(":author", $data['author']); $stmt->bindParam(":title", $data['title']); $stmt->bindParam(":flaptext", $data['flaptext']); $stmt->bindParam(":translator", $data['translator']); $stmt->bindParam(":isbn", $data['isbn']); $stmt->bindParam(":editionnumber", $data['editionnumber']); $stmt->bindParam(":nurcode", $data['nur']['code']); $stmt->execute(); }