equal
deleted
inserted
replaced
14 * to license@zend.com so we can send you a copy immediately. |
14 * to license@zend.com so we can send you a copy immediately. |
15 * |
15 * |
16 * @category Zend |
16 * @category Zend |
17 * @package Zend_Service |
17 * @package Zend_Service |
18 * @subpackage Amazon |
18 * @subpackage Amazon |
19 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) |
19 * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) |
20 * @license http://framework.zend.com/license/new-bsd New BSD License |
20 * @license http://framework.zend.com/license/new-bsd New BSD License |
21 * @version $Id: Amazon.php 20096 2010-01-06 02:05:09Z bkarwin $ |
21 * @version $Id: Amazon.php 24782 2012-05-09 12:04:50Z adamlundrigan $ |
22 */ |
22 */ |
23 |
23 |
24 /** |
24 /** |
25 * @see Zend_Rest_Client |
25 * @see Zend_Rest_Client |
26 */ |
26 */ |
28 |
28 |
29 /** |
29 /** |
30 * @category Zend |
30 * @category Zend |
31 * @package Zend_Service |
31 * @package Zend_Service |
32 * @subpackage Amazon |
32 * @subpackage Amazon |
33 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) |
33 * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) |
34 * @license http://framework.zend.com/license/new-bsd New BSD License |
34 * @license http://framework.zend.com/license/new-bsd New BSD License |
35 */ |
35 */ |
36 class Zend_Service_Amazon |
36 class Zend_Service_Amazon |
37 { |
37 { |
38 /** |
38 /** |
102 * Search for Items |
102 * Search for Items |
103 * |
103 * |
104 * @param array $options Options to use for the Search Query |
104 * @param array $options Options to use for the Search Query |
105 * @throws Zend_Service_Exception |
105 * @throws Zend_Service_Exception |
106 * @return Zend_Service_Amazon_ResultSet |
106 * @return Zend_Service_Amazon_ResultSet |
107 * @see http://www.amazon.com/gp/aws/sdk/main.html/102-9041115-9057709?s=AWSEcommerceService&v=2005-10-05&p=ApiReference/ItemSearchOperation |
107 * @see http://www.amazon.com/gp/aws/sdk/main.html/102-9041115-9057709?s=AWSEcommerceService&v=2011-08-01&p=ApiReference/ItemSearchOperation |
108 */ |
108 */ |
109 public function itemSearch(array $options) |
109 public function itemSearch(array $options) |
110 { |
110 { |
111 $client = $this->getRestClient(); |
111 $client = $this->getRestClient(); |
112 $client->setUri($this->_baseUri); |
112 $client->setUri($this->_baseUri); |
140 /** |
140 /** |
141 * Look up item(s) by ASIN |
141 * Look up item(s) by ASIN |
142 * |
142 * |
143 * @param string $asin Amazon ASIN ID |
143 * @param string $asin Amazon ASIN ID |
144 * @param array $options Query Options |
144 * @param array $options Query Options |
145 * @see http://www.amazon.com/gp/aws/sdk/main.html/102-9041115-9057709?s=AWSEcommerceService&v=2005-10-05&p=ApiReference/ItemLookupOperation |
145 * @see http://www.amazon.com/gp/aws/sdk/main.html/102-9041115-9057709?s=AWSEcommerceService&v=2011-08-01&p=ApiReference/ItemLookupOperation |
146 * @throws Zend_Service_Exception |
146 * @throws Zend_Service_Exception |
147 * @return Zend_Service_Amazon_Item|Zend_Service_Amazon_ResultSet |
147 * @return Zend_Service_Amazon_Item|Zend_Service_Amazon_ResultSet |
148 */ |
148 */ |
149 public function itemLookup($asin, array $options = array()) |
149 public function itemLookup($asin, array $options = array()) |
150 { |
150 { |
169 |
169 |
170 $dom = new DOMDocument(); |
170 $dom = new DOMDocument(); |
171 $dom->loadXML($response->getBody()); |
171 $dom->loadXML($response->getBody()); |
172 self::_checkErrors($dom); |
172 self::_checkErrors($dom); |
173 $xpath = new DOMXPath($dom); |
173 $xpath = new DOMXPath($dom); |
174 $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05'); |
174 $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2011-08-01'); |
175 $items = $xpath->query('//az:Items/az:Item'); |
175 $items = $xpath->query('//az:Items/az:Item'); |
176 |
176 |
177 if ($items->length == 1) { |
177 if ($items->length == 1) { |
178 /** |
178 /** |
179 * @see Zend_Service_Amazon_Item |
179 * @see Zend_Service_Amazon_Item |
227 protected function _prepareOptions($query, array $options, array $defaultOptions) |
227 protected function _prepareOptions($query, array $options, array $defaultOptions) |
228 { |
228 { |
229 $options['AWSAccessKeyId'] = $this->appId; |
229 $options['AWSAccessKeyId'] = $this->appId; |
230 $options['Service'] = 'AWSECommerceService'; |
230 $options['Service'] = 'AWSECommerceService'; |
231 $options['Operation'] = (string) $query; |
231 $options['Operation'] = (string) $query; |
232 $options['Version'] = '2005-10-05'; |
232 $options['Version'] = '2011-08-01'; |
233 |
233 |
234 // de-canonicalize out sort key |
234 // de-canonicalize out sort key |
235 if (isset($options['ResponseGroup'])) { |
235 if (isset($options['ResponseGroup'])) { |
236 $responseGroup = explode(',', $options['ResponseGroup']); |
236 $responseGroup = explode(',', $options['ResponseGroup']); |
237 |
237 |
300 * @return void |
300 * @return void |
301 */ |
301 */ |
302 protected static function _checkErrors(DOMDocument $dom) |
302 protected static function _checkErrors(DOMDocument $dom) |
303 { |
303 { |
304 $xpath = new DOMXPath($dom); |
304 $xpath = new DOMXPath($dom); |
305 $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05'); |
305 $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2011-08-01'); |
306 |
306 |
307 if ($xpath->query('//az:Error')->length >= 1) { |
307 if ($xpath->query('//az:Error')->length >= 1) { |
308 $code = $xpath->query('//az:Error/az:Code/text()')->item(0)->data; |
308 $code = $xpath->query('//az:Error/az:Code/text()')->item(0)->data; |
309 $message = $xpath->query('//az:Error/az:Message/text()')->item(0)->data; |
309 $message = $xpath->query('//az:Error/az:Message/text()')->item(0)->data; |
310 |
310 |