cacert-testmgr/external/ZendFramework-1.9.5/demos/Zend/WebServices/Amazon/amazon-search.php
Markus Warg 8398c9048d initially import ZendFramework-1.9.5 into repository
code was modified slightly, so the code differs from the original downloadable 1.9.5 version
2010-03-31 10:12:32 +02:00

214 lines
No EOL
6.5 KiB
PHP

<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Service_Amazon
* @subpackage Demos
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Query Amazon's Product Database
*/
/**
* @see Zend_Service_Amazon_Query
*/
require_once 'Zend/Service/Amazon/Query.php';
$keywords = '';
$searchFor = '';
if (isset($_POST) && strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
if (isset($_POST['search_term'])) {
$keywords = strip_tags($_POST['search_term']);
}
if (isset($_POST['search_type'])) {
$searchFor = strip_tags($_POST['search_type']);
}
}
?>
<!DOCTYPE html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style type="text/css">
html, body {
margin: 0px;
padding: 0px;
font-family: Tahoma, Verdana, sans-serif;
font-size: 10px;
}
h1 {
margin-top: 0px;
background-color: darkblue;
color: white;
font-size: 16px;
}
form {
text-align: center;
}
label {
font-weight: bold;
}
img {
border: 0px;
padding: 5px;
}
#results {
margin-left: 30px;
}
#results .thumb {
clear: left;
float: left;
}
#results .details {
clear: right;
float: left;
}
h2 {
font-size: 14px;
color: grey;
}
h3 {
clear: both;
font-size: 12px;
}
#poweredby {
clear: both;
}
</style>
</head>
<body>
<h1>Amazon Product Search</h1>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
<p>
<label>Search For: <input type="text" name="search_term" value="<?php echo htmlspecialchars($keywords, ENT_QUOTES); ?>"></label>
<label>
in
<select name="search_type">
<?php
$search_types = array (
0 => 'Apparel',
1 => 'Baby',
2 => 'Beauty',
3 => 'Blended',
4 => 'Books',
5 => 'Classical',
6 => 'DVD',
7 => 'Digital Music',
8 => 'Electronics',
9 => 'Gourmet Food',
10 => 'Health Personal Care',
11 => 'Jewelry',
12 => 'Kitchen',
13 => 'Magazines',
14 => 'Merchants',
15 => 'Miscellaneous',
16 => 'Music',
17 => 'Music Tracks',
18 => 'Musical Instruments',
19 => 'Office Products',
20 => 'Outdoor Living',
21 => 'PC Hardware',
22 => 'Pet Supplies',
23 => 'Photo',
24 => 'Restaurants',
25 => 'Software',
26 => 'Sporting Goods',
27 => 'Tools',
28 => 'Toys',
29 => 'VHS',
30 => 'Video',
31 => 'Video Games',
32 => 'Wireless',
33 => 'Wireless Accessories',
);
foreach ($search_types as $type) {
if ($searchFor == $type) {
?>
<option value='<?php echo str_replace(" ", "", $type); ?>' selected="selected"><?php echo $type; ?></option>
<?php
} else {
?>
<option value='<?php echo str_replace(" ", "", $type); ?>'><?php echo $type; ?></option>
<?php
}
}
?>
</select>
</label>
<input type="submit" value="Search!">
</p>
</form>
<?php
if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
$amazon = new Zend_Service_Amazon_Query("1338XJTNFMTHK413WFR2");
try {
$amazon->category($searchFor)->ResponseGroup('Large')->Keywords($keywords);
$results = $amazon->search();
if ($results->totalResults() > 0) {
echo '<div id="results">';
echo '<h2>Search Results</h2>';
foreach ($results as $result) {
echo "<div>";
echo "<h3>$result->Title</h3>";
if (isset($result->MediumImage)) {
?>
<div class="thumb">
<a href='<?php echo $result->DetailPageURL; ?>' title='<?php echo $result->Title; ?>'>
<img src='<?php echo $result->MediumImage->Url->getUri(); ?>' />
</a>
</div>
<p class="details" style="height: <?php echo $result->MediumImage->Height; ?>px">
Average Rating: <?php echo $result->AverageRating; ?>
<br />
Total Reviews: <?php echo $result->TotalReviews; ?>
<br />
Price: <?php echo (isset($result->FormattedPrice)) ? $result->FormattedPrice : "Not available"; ?>
<br />
<a href='<?php echo $result->DetailPageURL; ?>'>More Details...</a>
</p>
<?php
} else {
echo "<a href='{$result->DetailPageURL}'>More Details...</a>";
}
echo "</div>";
}
echo '</div>';
}
}
catch (Zend_Service_Exception $e) {
echo '<p style="color: red; font-weight: bold">An error occured, please try again later. (' .$e->getMessage(). ')</p>';
}
}
?>
<p id="poweredby" style="text-align: center; font-size: 9px;">Powered by the <a href="http://framework.zend.com">Zend Framework</a></p>
</body>
</html>