<HTML>
<HEAD><TITLE>Oracle / SOAP Example by John Coggeshall</TITLE></HEAD>
<BODY>
<?php

$client = new SoapClient("bookman.wsdl");

try {
	
	switch(@$_GET['mode']) {
		
		case 'title':
			
			if(!empty($_GET['title'])) {
				$isbns = $client->findBookISBNByTitle($_GET['title']);	
			} else {
				print "<B>Error:</B> You must specify at a title fragment!BR/>";
			}
			break;
		case 'author':
			
			if(!empty($_GET['author'])) {
				$isbns = $client->findBookISBNByAuthor($_GET['author']);
			} else {
				print "<B>Error:</B> You must specify the author to search!<BR/>";
			}
			break;
		default:
			$isbns = $client->listAllBooks();
	}

	print "<TABLE WIDTH='600'><TR><TD>ISBN</TD><TD>Author</TD>";
     print "<TD>Title</TD><TD>Price</TD></TR>";
	
	if(!isset($isbns) || !is_array($isbns)) {
		
		print "<TR><TD COLSPAN='4' ALIGN='CENTER'><I>No Results Available</I></TD></TR>";
	
	} else {
		
		foreach($isbns as $isbn) {
			$details = $client->getBookByISBN($isbn);
			
			print "<TR>";
			print "<TD>{$details['ISBN']}</TD><TD>{$details['AUTHOR']}</TD>";
			print "<TD>{$details['TITLE']}</TD><TD>{$details['PRICE']}</TD>";
			print "</TR>";
		}
	}	
	print "</TABLE>";
	
} catch(SoapFault $e) {
	
	$msg = (!$e->getMessage()) ? $e->faultstring : $e->getMessage();
	print "Sorry, an error was returned: $msg<HR>";
}

?>
<TABLE>
<FORM ACTION="<?php print $_SERVER['PHP_SELF']; ?>" METHOD="GET">
<INPUT TYPE="hidden" NAME="mode" VALUE="title">
<TR><TD><B>Search By Title:</B></TD>
<TD>
<INPUT TYPE="text" NAME="title" SIZE="50" MAXLENGTH="50">
<INPUT TYPE="submit" VALUE="Search">
</TD></TR>
</FORM>
<FORM ACTION="<?php print $_SERVER['PHP_SELF']; ?>" METHOD="GET">
<INPUT TYPE="hidden" NAME="mode" VALUE="author">
<TR><TD><B>Search By Author:</B></TD>
<TD><INPUT TYPE="text" NAME="author" SIZE="50" MAXLENGTH="50">
<INPUT TYPE="submit" VALUE="Search">
</TD></TR>
</FORM>
<TR>
<TD COLSPAN='2' ALIGN='center'>
<A HREF="<?php print $_SERVER['PHP_SELF']?>">Display All Books</A>
</TD>
</TABLE>
</BODY>
</HTML>