Services_Amazon
[ class tree: Services_Amazon ] [ index: Services_Amazon ] [ all elements ]

Source for file amazon_example1.php

Documentation is available at amazon_example1.php

  1. <?php
  2. //
  3. // Example of usage for Services_Amazon
  4. //
  5.  
  6. require_once 'config.php';
  7. require_once 'PEAR.php';
  8. require_once 'Services/Amazon.php';
  9.  
  10. function safestripslashes($value)
  11. {
  12.     return get_magic_quotes_gpc(stripslashes($value$value;
  13. }
  14.  
  15. function report_error($msg)
  16. {
  17.     echo "<p><i>{$msg}</i><p></body></html>";
  18.     exit();
  19. }
  20.  
  21. // Display previous/next links
  22. function disp_links($pages$page)
  23. {
  24.     if ($pages > 1{
  25.         echo '<tr><td colspan="2">';
  26.         if ($page > 1{
  27.             echo '<a href="' htmlspecialchars($_SERVER['PHP_SELF'.
  28.                  '?mode=' urlencode(safestripslashes($_GET['mode'])) .
  29.                  '&keyword=' urlencode(safestripslashes($_GET['keyword'])) .
  30.                  '&page=' ($page - 1)) .  '">&laquo; Previous Page</a> ';
  31.         }
  32.         echo 'Page ' $page ' of ' $pages ' ';
  33.         if($page $pages{
  34.             echo '<a href="' htmlspecialchars($_SERVER['PHP_SELF'.
  35.                  '?mode=' urlencode(safestripslashes($_GET['mode'])) .
  36.                  '&keyword=' urlencode(safestripslashes($_GET['keyword'])) .
  37.                  '&page=' ($page + 1)) .  '">Next Page &raquo;</a>';
  38.         }
  39.         echo '</td></tr>';
  40.     }
  41. }
  42.  
  43.     echo 'This script was written to work with Services_Amazon 1 API';
  44.     exit();
  45. }
  46.  
  47. $php_self htmlspecialchars($_SERVER['PHP_SELF']);
  48. echo <<<EOT
  49. <html>
  50. <head>
  51.     <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
  52.     <title>Services_Amazon example</title>
  53. </head>
  54. <body>
  55. <form action="{$php_self}" method="get">
  56. <table border="0">
  57. <tr>
  58.     <td>
  59.     <select name="mode">
  60. EOT;
  61.  
  62. $modes Services_Amazon::getModes();
  63. // $modes = array('baby' => 'Baby',
  64. //                'books' => 'Books',
  65. //                'classical' => 'Classical Music',
  66. //                ....
  67. foreach($modes as $k => $v{
  68.     echo '<option value="' $k ($k == $_GET['mode''" selected="selected"' '''">' htmlspecialchars($v'</option>';
  69. }
  70. echo '</select></td>';
  71.  
  72. $keyword = isset($_GET['keyword']htmlspecialchars(safestripslashes($_GET['keyword'])) '';
  73. echo <<< EOT
  74.     <td><input type="text" name="keyword" value="{$keyword}" /></td>
  75.     <td><input type="hidden" name="page" value="1" /></td>
  76.     <td><input type="submit" value="Search" /></td>
  77. </tr>
  78. </table>
  79. </form>
  80. EOT;
  81.  
  82. if (!$_GET{
  83.     echo '</body></html>';
  84.     exit();
  85. }
  86.  
  87. // Validate
  88. if (empty($_GET['keyword'])) {
  89.     report_error('Must search for something');
  90. }
  91. if (!is_numeric($_GET['page']|| $_GET['page'< 1{
  92.     report_error('Invalid page number');
  93. }
  94. if (!isset($modes[$_GET['mode']])) {
  95.     report_error('Invalid mode');
  96. }
  97.  
  98. $amazon &new Services_Amazon(ACCESS_KEY_IDASSOC_ID);
  99.  
  100. $products $amazon->searchKeyword($_GET['keyword']$_GET['mode']$_GET['page']);
  101.  
  102. if (PEAR::isError($products)) {
  103.     report_error($products->message);
  104. }
  105.  
  106.  
  107. echo '<table border="0">';
  108.  
  109. $pages $products['pages'];
  110. $page  $products['page'];
  111.  
  112. disp_links($pages$page);
  113.  
  114. // Display products
  115. for($i = 0; $i < 10; $i++{
  116.     if (!isset($products[$i])) break;
  117.     $product $products[$i];
  118.     $creator '';
  119.     if(is_array($product['authors'])) {
  120.         $creator 'by ' implode(', '$product['authors']);
  121.     elseif(is_array($product['artists'])) {
  122.         $creator 'by ' implode(', '$product['artists']);
  123.     }
  124.     
  125.     $price '';
  126.     if($product['listprice'!= $product['ourprice']{
  127.         $price '<strike>' $product['listprice''</strike> ' $product['ourprice'];
  128.     else {
  129.         $price $product['listprice'];
  130.     }
  131.  
  132.     echo <<<EOT
  133. <tr>
  134.     <td valign="top"><a href="{$product['url']}"><img src="{$product['imagesmall']}" border="0" alt="" /></a></td>
  135.     <td valign="top">
  136.     <b>{$product['name']}</b> $creator<br />
  137.     Category: {$product['type']}<br />
  138.     Release Date: {$product['release']}<br />
  139.     Price: $price<br />
  140.     Manufacturer: {$product['manufacturer']}<br />
  141.     ASIN: {$product['asin']}
  142.     </td>
  143. </tr>
  144. EOT;
  145. }
  146.  
  147. disp_links($pages$page);
  148.  
  149. echo '</table></body></html>';
  150.  
  151. ?>

Documentation generated on Mon, 11 Mar 2019 15:46:57 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.