/** * Builds a Book class from the data retrieved from the API * * @param $volumeInfo * * @return Book */ public function buildBookWithApiInfo($volumeInfo) { $numIsbn13 = 0; $numIsbn10 = 1; if (strlen($volumeInfo[Constants::GOOGLE_BOOKS_LABEL_INDUSTRY][0][Constants::GOOGLE_BOOKS_LABEL_IDENTIFIER]) != 13) { $numIsbn10 = 0; $numIsbn13 = 1; } if (isset($volumeInfo[Constants::GOOGLE_BOOKS_LABEL_INDUSTRY][$numIsbn13])) { $isbn13 = $volumeInfo[Constants::GOOGLE_BOOKS_LABEL_INDUSTRY][$numIsbn13][Constants::GOOGLE_BOOKS_LABEL_IDENTIFIER]; } else { $isbn13 = "N/A"; } if (isset($volumeInfo[Constants::GOOGLE_BOOKS_LABEL_INDUSTRY][$numIsbn10])) { $isbn10 = $volumeInfo[Constants::GOOGLE_BOOKS_LABEL_INDUSTRY][$numIsbn10][Constants::GOOGLE_BOOKS_LABEL_IDENTIFIER]; } else { $isbn10 = "N/A"; } $author = is_array($volumeInfo[Constants::GOOGLE_BOOKS_LABEL_AUTHORS]) ? implode(', ', $volumeInfo[Constants::GOOGLE_BOOKS_LABEL_AUTHORS]) : $volumeInfo[Constants::GOOGLE_BOOKS_LABEL_AUTHORS]; $imageLink = !empty($volumeInfo[Constants::GOOGLE_BOOKS_LABEL_IMAGELINKS][Constants::GOOGLE_BOOKS_LABEL_THUMBNAIL]) ? $volumeInfo[Constants::GOOGLE_BOOKS_LABEL_IMAGELINKS][Constants::GOOGLE_BOOKS_LABEL_THUMBNAIL] : ''; $book = Book::buildComplete($isbn10, $isbn13, $volumeInfo[Constants::GOOGLE_BOOKS_LABEL_TITLE], $author, $volumeInfo[Constants::GOOGLE_BOOKS_LABEL_PUBLISHER], $volumeInfo[Constants::GOOGLE_BOOKS_LABEL_DESCRIPTION], $volumeInfo[Constants::GOOGLE_BOOKS_LABEL_PAGECOUNT], $imageLink); return $book; }
/** * Gets books array associated with a file * * @param $filename * * @return array */ public function findBooksFromFilename($filename) { if (!is_null($filename)) { $booksDBArray = $this->app[Constants::DATABASE_SERVICE][Constants::DATABASE_MYSQL]->fetchAll(Constants::QUERY_SELECTBOOKINFOBYDOCNAME, array($filename)); $booksArray = []; foreach ($booksDBArray as $bookDB) { $book = Book::buildComplete($bookDB[Constants::BOOK_ISBN10], $bookDB[Constants::BOOK_ISBN13], $bookDB[Constants::BOOK_TITLE], $bookDB[Constants::AUTHOR_NAME], $bookDB[Constants::BOOK_PUBLISHER], $bookDB[Constants::BOOK_DESCRIPTION], $bookDB[Constants::BOOK_NUMPAGES], $bookDB[Constants::BOOK_IMAGELINK]); $booksArray[] = $book; } return $booksArray; } return null; }