source: spip-zone/_plugins_/booksearch/inc/booksearch_to_array.php @ 43189

Last change on this file since 43189 was 43189, checked in by fil@…, 10 years ago

gestion d'erreur cf http://core.spip.org/trac/spip/changeset/16855

File size: 1.4 KB
Line 
1<?php
2
3
4
5# hors de la fonction, de facon a ce que la class soit chargee
6# meme si le resultat est deja dans le cache (sinon le cache est inexploitable).
7# cf. iterateur/data.php
8
9#
10# Pour obtenir des cles, il faut s'enregistrer sur
11# https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html
12
13# ces valeurs sont a definir dans mes_options.php
14# todo : les passer en CFG
15defined('AWS_API_KEY') or define('AWS_API_KEY', 'API KEY');
16defined('AWS_API_SECRET_KEY') or define('AWS_API_SECRET_KEY', 'SECRET KEY');
17
18include_spip('lib/AmazonECS.class');
19
20function inc_booksearch_to_array($u) {
21
22  try {
23
24    $amazonEcs = new AmazonECS(AWS_API_KEY, AWS_API_SECRET_KEY, 'FR');
25
26    // from now on you want to have pure arrays as response
27    $amazonEcs->setReturnType(AmazonECS::RETURN_TYPE_ARRAY);
28
29    $response = $amazonEcs
30      ->responseGroup('Large')
31      ->category('Books')
32      ->search($u);
33
34    // on se limite a la premiere page de resultats
35    $u = @$response['Items']['Item'];
36
37    // simplifier le tableau des resultats, on se fiche des liens amazon
38    if (is_array($u))
39    foreach($u as $k => &$v) {
40      #unset($u[$k]['DetailPageURL']);
41      #unset($u[$k]['ItemLinks']);
42      foreach ($u[$k]['ItemAttributes'] as $k2 => $v2)
43        $u[$k][$k2] = $v2;
44      unset($u[$k]['ItemAttributes']);
45    }
46    # cas a 0 reponse
47    else
48      $u = array();
49  } catch (Exception $e) {
50    return $e;
51  }
52
53  return $u;
54
55}
56
Note: See TracBrowser for help on using the repository browser.