+
+ global setNo
+ global nextSetNo
+ global hist
+
+ html {<head><title> WWW/Z39.50 Gateway Query Form</title></head><body>}
+
+ set initSet [lindex $sessionParms 0]
+ set host [lindex $sessionParms 1]
+ set scanLine [lindex $sessionParms 2]
+ set scanTerm [lrange $sessionParms 3 end]
+
+ if {[catch {set setNo $nextSetNo}]} {
+ set nextSetNo 1
+ set setNo 1
+ }
+ if {[catch {set oldHost [z390 connect]}]} {
+ set oldHost ""
+ }
+
+ set hist($setNo,0,host) $host
+ set hist($setNo,0,idAuthentication) [lindex $targets($host) 3]
+
+ mkAssoc z390 $host
+
+ z390 callback ok-response
+ z390 failback fail-response
+ set thisHost [splitHostSpec $host]
+ if {[string compare $thisHost $oldHost]} {
+ catch {z390 disconnect}
+
+ set sessionWait 0
+ if {[catch {z390 connect $thisHost}]} {
+ displayError "Cannot connect to target ${thisHost}" {}
+ html "</body></html>\n"
+ z390 disconnect
+ egw_abort
+ } elseif {$sessionWait == 0} {
+ if {[catch {egw_wait sessionWait 35}]} {
+ displayError "Cannot connect to target ${thisHost}" {}
+ html "</body></html>\n"
+ z390 disconnect
+ egw_abort
+ }
+ if {$sessionWait != 1} {
+ displayError "Cannot connect to target ${thisHost}" {}
+ html "</body></html>\n"
+ z390 disconnect
+ egw_abort
+ }
+ }
+ set sessionWait 0
+ z390 idAuthentication $hist($setNo,0,idAuthentication)
+ if {[catch {z390 init}]} {
+ displayError "Cannot initialize target ${thisHost}" {}
+ html "</body></html>\n"
+ egw_abort
+ }
+ if {$sessionWait == 0 && [catch {egw_wait sessionWait 60}]} {
+ displayError "Cannot initialize target ${thisHost}" {}
+ html "</body></html>\n"
+ egw_abort
+ }
+ if {$sessionWait != "1"} {
+ displayError "Cannot initialize target ${thisHost}" {}
+ html "</body></html>\n"
+ egw_abort
+ }
+ if {![z390 initResult]} {
+ displayError "Connection rejected by target ${thisHost}" \
+ [z390 userInformationField]
+ z390 disconnect
+ html "</body></html>\n"
+ egw_abort
+ }
+ }
+
+ set useIcons 1
+ button-main
+ button-new-target
+ if {[lsearch [z390 options] scan] >= 0} {
+ button-scan-window $setNo
+ }
+ button-view-history
+
+ html "<h2>" [lindex $targets($host) 0] "</h2><br>\n"
+
+ html [lindex $targets($host) 4] "<br>\n"
+
+ set databases [splitDatabaseSpec $host]
+ if {$initSet == -1} {
+ set databaseDefault [lindex $databases 0]
+ set oSetNo 0
+ } else {
+ set oSetNo $initSet
+ set databaseDefault $hist($oSetNo,0,database)
+ }
+
+ html {<form action="http:} $env(SCRIPT_NAME)
+ html / $sessionId {/search.egw/} $setNo + 0 {" method=get>} \n