comparison php/read/getBookDetails.php @ 43:dbc006408d2b

ASSUMES we have SetEnv PHP_VALUE "include_path =.:/var/test/private:/var/test/ywww:/usr/share/php" in apache2/.../test.conf use dl(...) for debug logging, defined in dlog.php use doAmazonRequest in amazonBookSearch use ../private/web.php (q.v., not in mercurial) for Aserver and Aassociates Started by updating from 40:c24ae74bf6d5, i.e. just before the bug on the main line
author Charlie Root
date Sat, 05 Jan 2019 18:00:10 -0500
parents c24ae74bf6d5
children 38d209611508
comparison
equal deleted inserted replaced
42:3f400072bf14 43:dbc006408d2b
1 <?php 1 <?php
2 2 include_once "dlog.php";
3
4 include_once "web.php";
3 function findGenre($browseNode, &$ID, &$gen) 5 function findGenre($browseNode, &$ID, &$gen)
4 { 6 {
5 if($browseNode->Name == "Subjects") 7 if($browseNode->Name == "Subjects")
6 { 8 {
7 return true; 9 return true;
21 } 23 }
22 return false; 24 return false;
23 } 25 }
24 } 26 }
25 27
26 global $out,$isbn; 28 global $out,$isbn,$Aserver,$Aassociates_id;
27 if(isset($_GET['isbn'])){ 29 if(isset($_GET['isbn'])){
28 $isbn = $_GET['isbn']; 30 $isbn = $_GET['isbn'];
29 if(isset($_GET['locale'])){ 31 if(isset($_GET['locale'])){
30 $locale=$_GET['locale']; 32 $locale=$_GET['locale'];
31 33
104 106
105 if($proceed == true) 107 if($proceed == true)
106 { 108 {
107 include "aws_signed_request.php"; 109 include "aws_signed_request.php";
108 include_once "../../xml/doAmazonRequest.inc"; 110 include_once "../../xml/doAmazonRequest.inc";
109 file_put_contents('/var/ywww/debug/phpDebug', 111 dl("nbd proceeding: $isbn\n");
110 "nbd proceeding: $isbn\n",
111 FILE_APPEND);
112 112
113 //book does not exist already so look up all the info from browse nodes.... 113 //book does not exist already so look up all the info from browse nodes....
114 114
115 $Adefault=array( 115 $Adefault=array(
116 'language' =>'en', //what language to render the page in 116 'language' =>'en', //what language to render the page in
126 'show_url' =>false, //debug: show XML request url to be send to Amazon? 126 'show_url' =>false, //debug: show XML request url to be send to Amazon?
127 'show_xml' =>false, //debug: show incoming XML code from Amazon? 127 'show_xml' =>false, //debug: show incoming XML code from Amazon?
128 ); 128 );
129 //change the debug options to true if you want to activate them or call the script with '?show_array=true' to see what actual information you're getting from Amazon and how little my standard script is actually showing of it 129 //change the debug options to true if you want to activate them or call the script with '?show_array=true' to see what actual information you're getting from Amazon and how little my standard script is actually showing of it
130 130
131 $Aassociates_id=array(
132 'uk' => 'bookwhack-21',
133 'us' => 'your02b-20',
134 'ca' => 'book009-20',
135 'de' => 'book04c-21',
136 'fr' => 'book07f-21',
137 );
138
139 $Aserver=array(
140 'ca' => array(
141 'ext' => 'ca' , //Canadian normal server
142 'nor' => 'http://www.amazon.ca' , //Canadian normal server
143 'xml' => 'http://xml.amazon.com' , //Canadian xml server
144 ),
145 'de' => array(
146 'ext' => 'de' , //German normal server
147 'nor' => 'http://www.amazon.de' , //German normal server
148 'xml' => 'http://xml-eu.amazon.com', //German xml server
149 ),
150 'fr' => array(
151 'ext' => 'fr' , //French normal server
152 'nor' => 'http://www.amazon.fr' , //French normal server
153 'xml' => 'http://xml-eu.amazon.com', //French xml server
154 ),
155 'jp' => array(
156 'ext' => 'jp' , //Japanese normal server, not co.jp!
157 'nor' => 'http://www.amazon.co.jp' , //Japanese normal server
158 'xml' => 'http://xml.amazon.com' , //Japanese xml server
159 ),
160 'uk' => array(
161 'ext' => 'co.uk' , //UK normal server
162 'nor' => 'http://www.amazon.co.uk' , //UK normal server
163 'xml' => 'http://xml-eu.amazon.com', //UK xml server
164 ),
165 'us' => array(
166 'ext' => 'com' , //USA normal server
167 'nor' => 'http://www.amazon.com' , //USA normal server
168 'xml' => 'http://xml.amazon.com' , //USA xml server
169 ),
170 );
171 131
172 //for all parameters see if the user has overruled it or use the default 132 //for all parameters see if the user has overruled it or use the default
173 foreach ($Adefault as $i=>$d) { 133 foreach ($Adefault as $i=>$d) {
174 $$i=isset($_GET[$i])?$_GET[$i]:$d; 134 $$i=isset($_GET[$i])?$_GET[$i]:$d;
175 } 135 }
190 try { 150 try {
191 $xml=doAmazonRequest($Aserver[$locale]['ext'],$parameters,6,'d'); 151 $xml=doAmazonRequest($Aserver[$locale]['ext'],$parameters,6,'d');
192 //use this xml to pull out the necessary information and save it 152 //use this xml to pull out the necessary information and save it
193 set_error_handler(function () { 153 set_error_handler(function () {
194 global $out,$isbn; 154 global $out,$isbn;
195 file_put_contents('/var/ywww/debug/phpDebug', 155 dl("Caught one bd: $isbn\n");
196 "Caught one bd: ".$isbn, 156 dl(print_r($out, TRUE)."\n");
197 FILE_APPEND);
198 file_put_contents('/var/ywww/debug/phpDebug',
199 print_r($out, TRUE)."\n",
200 FILE_APPEND);
201 } ); 157 } );
202 include "../../../private/db.php"; 158 include "db.php";
203 159
204 $title=""; 160 $title="";
205 $author=""; 161 $author="";
206 $binding=""; 162 $binding="";
207 $dewey=""; 163 $dewey="";
315 271
316 $res = mysqli_query($link, $queryInsert); 272 $res = mysqli_query($link, $queryInsert);
317 if (!$res) { 273 if (!$res) {
318 $err=mysqli_error( $link ); 274 $err=mysqli_error( $link );
319 mysqli_close($link); 275 mysqli_close($link);
320 file_put_contents('/var/ywww/debug/phpDebug', 276 dl("anb failed: $err, $pubDate, $g2, $publisher, $title\n");
321 "anb failed: $err, $pubDate, $g2, $publisher, $title\n",
322 FILE_APPEND);
323 exit($err); 277 exit($err);
324 } 278 }
325 mysqli_close($link); //do not remove. reset is needed otherwise mysqli_fetch_array doesn't work after first loop 279 mysqli_close($link); //do not remove. reset is needed otherwise mysqli_fetch_array doesn't work after first loop
326 280
327 281
338 $output .= "<Genre2>" . htmlspecialchars($g2) . "</Genre2>"; 292 $output .= "<Genre2>" . htmlspecialchars($g2) . "</Genre2>";
339 $output .= "<Genre3>" . htmlspecialchars($g3) . "</Genre3>"; 293 $output .= "<Genre3>" . htmlspecialchars($g3) . "</Genre3>";
340 $output .= "<ProductGroup>Book</ProductGroup>"; 294 $output .= "<ProductGroup>Book</ProductGroup>";
341 } 295 }
342 catch (Exception $e) { 296 catch (Exception $e) {
343 file_put_contents('/var/ywww/debug/phpDebug', 297 dl("gBD: dAR failed:".$e->getMessage()."\n");
344 "gBD: dAR failed:".$e->getMessage()."\n",
345 FILE_APPEND);
346 } 298 }
347 } 299 }
348 $output .= "</BookDetails>"; 300 $output .= "</BookDetails>";
349 301
350 echo $output; 302 echo $output;