function lookup($isbn, $type = "medium") { // Hide warnings on results in safe mode //error_reporting(0); // Lookup amazon first require_once 'cloudfusion/cloudfusion.class.php'; // Load cover options require_once '../classes/CoverOptsQuery.php'; $opt = CoverOptsQuery::getAWS(); if (empty($opt['aws_key']) || empty($opt['aws_secret_key'])) { $this->_lastError = 'MissingKeyError: Missing AWS keys in Admin > Cover Lookup Options, please fill them.'; return false; } define('AWS_KEY', $opt['aws_key']); define('AWS_SECRET_KEY', $opt['aws_secret_key']); define('AWS_ACCOUNT_ID', $opt['aws_account_id']); // Remove trail data from ISBN $isbn = explode(' ', $isbn); $isbn = preg_replace("/[^x0-9]+/", '', $isbn[0]); try { $pas = new AmazonPAS(); $response = $pas->item_lookup($isbn, array('IdType' => 'ISBN', 'SearchIndex' => 'Books', 'ResponseGroup' => 'Images')); if (isset($response->body->Error)) { $this->_lastError = $response->body->Error->Code . ': ' . $response->body->Error->Message; return false; } if ($type == "large") { if (!empty($response->body->Items->Item->LargeImage)) { return '' . $response->body->Items->Item->LargeImage->URL; } } if (!empty($response->body->Items->Item->MediumImage)) { return '' . $response->body->Items->Item->MediumImage->URL; } $this->_lastError = 'ISBNNotFound: Couldn\'t find any information for this ISBN.'; return false; } catch (Exception $e) { $this->_lastError = 'ConnectionError: Couldn\'t connect to AWS service.'; return false; } }