- z39 connect $t
- z39 callback init-response
- z39 init
-}
-<head>
-<title> WWW/Z39.50 Gateway Query Form</title>
-</head>
-<body>
-<h2> Search in databases </h2>
-<h1> <blink> Not Functional Yet </blink> </h1>
-{
- html {<form action="http://} $env(SERVER_NAME) $env(SCRIPT_NAME)
- htmlr / $sessionId {/search.egw" method=post>}
+ if {$host != $oldHost} {
+ catch {z39 disconnect}
+
+ set sessionWait 0
+ if {[catch {z39 connect $host}]} {
+ displayError "Cannot connect to target ${host}" {}
+ html "</body></html>\n"
+ z39 disconnect
+ egw_abort
+ } elseif {$sessionWait == 0} {
+ if {[catch {egw_wait sessionWait 35}]} {
+ displayError "Cannot connect to target ${host}" {}
+ html "</body></html>\n"
+ z39 disconnect
+ egw_abort
+ }
+ if {$sessionWait != 1} {
+ displayError "Cannot connect to target ${host}" {}
+ html "</body></html>\n"
+ z39 disconnect
+ egw_abort
+ }
+ }
+ set sessionWait 0
+ z39 idAuthentication $hist($setNo,idAuthentication)
+ if {[catch {z39 init}]} {
+ displayError "Cannot initialize target ${host}" {}
+ html "</body></html>\n"
+ egw_abort
+ }
+ if {[catch {egw_wait sessionWait 60}]} {
+ displayError "Cannot initialize target ${host}" {}
+ html "</body></html>\n"
+ egw_abort
+ }
+ if {$sessionWait != "1"} {
+ displayError "Cannot initialize target ${host}" {}
+ html "</body></html>\n"
+ egw_abort
+ }
+ if {![z39 initResult]} {
+ displayError "Connection rejected by target ${host}" \
+ [z39 userInformationField]
+ z39 disconnect
+ html "</body></html>\n"
+ egw_abort
+ }
+ }
+ set databases [lindex $targets($host) 1]
+
+ if {$initSet == ""} {
+ set databaseDefault [lindex $databases 0]
+ set oSetNo 0
+ } else {
+ set oSetNo $initSet
+ set databaseDefault $hist($oSetNo,database)
+ }
+
+ html {<form action="http:} $env(SCRIPT_NAME)
+ html / $sessionId {/search.egw/} $setNo {" method=get>} \n