public static function completeInfos(Book &$book) { try { $config = self::getConfig(); $googleBook = new \Sb\Google\Model\GoogleBook($book->getISBN10(), $book->getISBN13(), $book->getASIN(), $config->getGoogleApiKey()); if ($googleBook->getVolumeInfo()) { $bookFromGoogle = new Book(); \Sb\Db\Mapping\BookMapper::mapFromGoogleBookVolumeInfo($bookFromGoogle, $googleBook->getVolumeInfo()); if (!$book->getDescription() && $bookFromGoogle->getDescription()) { $book->setDescription($bookFromGoogle->getDescription()); } if (!$book->getImageUrl() && $bookFromGoogle->getImageUrl()) { $book->setImageUrl($bookFromGoogle->getImageUrl()); } if (!$book->getSmallImageUrl() && $bookFromGoogle->getSmallImageUrl()) { $book->setSmallImageUrl($bookFromGoogle->getSmallImageUrl()); } if (!$book->getPublishingDate() && $bookFromGoogle->getPublishingDate()) { $book->setPublishingDate($bookFromGoogle->getPublishingDate()); } } else { \Sb\Trace\Trace::addItem('Le livre n\'a pas été trouvé sur Google.'); } } catch (\Exception $exc) { $message = sprintf("Une erreur s'est produite lors de l'appel à l'api google books : %s", $exc->getMessage()); MailSvc::getInstance()->send(Constants::WEBMASTER_EMAIL, "Erreur interne", $message); \Sb\Trace\Trace::addItem($message); } }
public function getISBN13() { $this->__load(); return parent::getISBN13(); }