AmazonResolver::resolve PHP Метод

resolve() публичный Метод

public resolve ( $request )
    function resolve($request)
    {
        $query = implode(' - ', array($request->artist, $request->album, $request->track));
        $params = array('Service' => 'AWSECommerceService', 'Version' => '2009-10-01', 'Timestamp' => date(DATE_ISO8601), 'AWSAccessKeyId' => $this->key, 'AssociateTag' => $this->tag, 'Operation' => 'ItemSearch', 'SearchIndex' => 'MP3Downloads', 'ResponseGroup' => 'ItemAttributes,Images', 'Keywords' => $query);
        $params['Signature'] = $this->sign($params);
        $xml = simplexml_load_file('http://' . $this->host . $this->path . '?' . http_build_query($params));
        //print_r($xml);
        if (!is_object($xml) || (string) $xml->Items->Request->IsValid != 'True') {
            return array();
        }
        $items = array();
        if (!empty($xml->Items->Item)) {
            foreach ($xml->Items->Item as $item) {
                $asin = (string) $item->ASIN;
                $attr = $item->ItemAttributes;
                $meta = array('score' => 1, 'source' => 'Amazon', 'artist' => (string) $attr->Creator, 'track' => (string) $attr->Title . ' [preview]', 'duration' => 30, 'trackno' => (string) $attr->TrackSequence, 'url' => 'http://www.amazon.com/gp/dmusic/get_sample_url.html?ASIN=' . $asin, 'info' => (string) $item->DetailPageURL);
                foreach (array('LargeImage', 'MediumImage', 'SmallImage') as $image) {
                    if (isset($item->{$image})) {
                        $meta['image'] = (string) $item->{$image}->URL;
                        break;
                    }
                }
                $items[] = $meta;
            }
        }
        return $items;
    }