Major revision. Single-target result set can be reached from the
[egate.git] / www / query.egw
index f68a696..f17cc58 100644 (file)
@@ -4,7 +4,7 @@
 </head>
 <body>
 {
-# $Id: query.egw,v 1.32 1996/01/26 15:50:08 adam Exp $
+# $Id: query.egw,v 1.38 1996/03/13 14:07:30 adam Exp $
 
     if {[info commands saveState] == ""} {
         source z39util.tcl
@@ -24,8 +24,8 @@ proc ok-response {} {
     global nextSetNo
     global hist
 
-    set host [lindex $sessionParms 0]
-    set initSet [lindex $sessionParms 1]
+    set initSet [lindex $sessionParms 0]
+    set host [lindex $sessionParms 1]
     set scanLine [lindex $sessionParms 2]
     set scanTerm [lrange $sessionParms 3 end]
 
@@ -33,51 +33,49 @@ proc ok-response {} {
         set nextSetNo 1
         set setNo 1
     }
-    if {[catch {set oldHost [z39 connect]}]} {
+    if {[catch {set oldHost [z390 connect]}]} {
         set oldHost ""
     }
 
-    set hist($setNo,host) $host
-    set hist($setNo,idAuthentication) [lindex $targets($host) 3]
+    set hist($setNo,0,host) $host
+    set hist($setNo,0,idAuthentication) [lindex $targets($host) 3]
 
-    if {[catch {z39 failback fail-response}]} {
-        ir z39
-    }
+    mkAssoc z390 $host
 
-    z39 callback ok-response
-    z39 failback fail-response
+    z390 callback ok-response
+    z390 failback fail-response
     set thisHost [splitHostSpec $host]
-    if {$thisHost != $oldHost} {
-        catch {z39 disconnect}
+    if {[string compare $thisHost $oldHost]} {
+        catch {z390 disconnect}
 
         set sessionWait 0
-        if {[catch {z39 connect $thisHost}]} {
+        if {[catch {z390 connect $thisHost}]} {
             displayError "Cannot connect to target ${thisHost}" {}
             html "</body></html>\n"
-            z39 disconnect
+            z390 disconnect
             egw_abort
         } elseif {$sessionWait == 0} {
             if {[catch {egw_wait sessionWait 35}]} {
                 displayError "Cannot connect to target ${thisHost}" {}
                 html "</body></html>\n"
-               z39 disconnect
+               z390 disconnect
                 egw_abort
             }
             if {$sessionWait != 1} {
                 displayError "Cannot connect to target ${thisHost}" {}
                 html "</body></html>\n"
-               z39 disconnect
+               z390 disconnect
                 egw_abort
             }
         }
         set sessionWait 0
-        z39 idAuthentication $hist($setNo,idAuthentication)
-        if {[catch {z39 init}]} {
+        z390 idAuthentication $hist($setNo,0,idAuthentication)
+        if {[catch {z390 init}]} {
             displayError "Cannot initialize target ${thisHost}" {}
             html "</body></html>\n"
             egw_abort
         }
-        if {[catch {egw_wait sessionWait 60}]} {
+        if {$sessionWait == 0 && [catch {egw_wait sessionWait 60}]} {
             displayError "Cannot initialize target ${thisHost}" {}
             html "</body></html>\n"
             egw_abort
@@ -87,39 +85,38 @@ proc ok-response {} {
             html "</body></html>\n"
             egw_abort
         }
-        if {![z39 initResult]} {
+        if {![z390 initResult]} {
             displayError "Connection rejected by target ${thisHost}" \
-                 [z39 userInformationField]
-            z39 disconnect
+                 [z390 userInformationField]
+            z390 disconnect
             html "</body></html>\n"
             egw_abort
         }
     }
 
     set useIcons 1
-    button-europagate
-    button-new-target 1
-    if {[lsearch [z39 options] scan] >= 0} {
-        button-scan-window 1 $setNo
+    button-main
+    button-new-target
+    if {[lsearch [z390 options] scan] >= 0} {
+        button-scan-window $setNo
     }
-    button-view-history 0 
+    button-view-history
 
     html "<h2>" [lindex $targets($host) 0] "</h2><br>\n"
 
     html [lindex $targets($host) 4] "<br>\n"
 
-    set databases [lindex $targets($host) 1]
-
-    if {$initSet == ""} {
+    set databases [splitDatabaseSpec $host]
+    if {$initSet == -1} {
         set databaseDefault [lindex $databases 0]
         set oSetNo 0
     } else {
         set oSetNo $initSet
-        set databaseDefault $hist($oSetNo,database)
+        set databaseDefault $hist($oSetNo,0,database)
     }
     
     html {<form action="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/search.egw/} $setNo {" method=get>} \n
+    html / $sessionId {/search.egw/} $setNo + 0 {" method=get>} \n
     set nodb [llength $databases]
     if {$nodb > 1} {
         if {$nodb > 2} {
@@ -142,7 +139,7 @@ proc ok-response {} {
             html [concat $databases] {"> All <br>} \n
         }
     }
-    html "Input your search criteria:<br>\n"
+    html "<b>Fill-in this search form:</b><br>\n"
     set fields [lindex $targets($host) 2]
     for {set no 1} {$no < 4} {incr no} {
         html {<select name="menu} $no {">} \n
@@ -169,8 +166,8 @@ proc ok-response {} {
         if {[string length $template] > 0} {
             html { value="} $template {"}
         }
-        html { size=43> }
-        if {0 && [lsearch [z39 options] scan] >= 0} {
+        html { size=35> }
+        if {0 && [lsearch [z390 options] scan] >= 0} {
             html {<input type="checkbox" name="scan} $no {" value="1" scan>}
         }
         if {$no < 3} {
@@ -208,12 +205,12 @@ proc ok-response {} {
     html "<p>\n"
 
     set useIcons 0
-    button-europagate
-    button-new-target 1
-    if {[lsearch [z39 options] scan] >= 0} {
-        button-scan-window 1 $setNo
+    button-main
+    button-new-target
+    if {[lsearch [z390 options] scan] >= 0} {
+        button-scan-window $setNo
     }
-    button-view-history 0 
+    button-view-history
 }
 
 {