Minor changes.
[egate.git] / www / z39util.tcl
index 36a28a1..bd6a7b5 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: z39util.tcl,v 1.41 1996/03/14 11:50:51 adam Exp $
+# $Id: z39util.tcl,v 1.45 1996/05/24 11:16:02 adam Exp $
 #
 proc saveState {} {
     uplevel #0 {
@@ -162,7 +162,7 @@ proc display-medium {zset no setNo targetNo} {
             html "No Title"
         }
         html {</a> }
-        if {[scan $score %d nscore]} {
+        if {[scan $score %d nscore] == 1} {
             html "; Score " $nscore
         }
     } else {
@@ -727,15 +727,16 @@ proc build-query {t ilines} {
                 egw_log debug "attr failed for $t"
                 set attr [lindex [lindex [lindex $targets($t) 2] 0] 1]
             }
+           egw_log debug "op=${op}"
             switch $op {
                 And
-                { set q "@and $q ${attr} \"${term}\"" }
+                { set q "@and $q ${attr} \"${term}\""; egw_log debug AND }
                 Or
-                { set q "@or $q ${attr} \"${term}\"" }
-                {And not}
-                { set q "@not $q ${attr} \"${term}\"" }
+                { set q "@or $q ${attr} \"${term}\""; egw_log debug OR }
                 {}
-                { set q "${attr} \"${term}\"" }
+                { set q "${attr} \"${term}\""; egw_log debug NOPE }
+               default
+                { set q "@not $q ${attr} \"${term}\""; egw_log debug ANDNOT }
             }
             set op [egw_form logic$i]
         }
@@ -1134,7 +1135,20 @@ proc z39msearch {setNo elements start number cache} {
     }
     while {$zleft > 0} {
         egw_log debug "Waiting for init response"
-        if {[catch {egw_wait zleft 20}]} {
+        if {[catch {egw_wait zleft 20} reason]} {
+            if {![string compare $reason cancel]} {
+                for {set i 1} {$i <= $not} {incr i} {
+                    set zstatus($i) -1
+                    catch {z39$i disconnect}
+                }
+                return
+            } else {
+                for {set i 1} {$i <= $not} {incr i} {
+                    if {$zstatus($i) == -1} {
+                        catch {z39$i disconnect}
+                    }
+                }
+            }
             break
         }
     }
@@ -1241,9 +1255,24 @@ proc z39msearch {setNo elements start number cache} {
             }
         }
     }
+
+
     while {$zleft > 0} {
         egw_log debug "Waiting for search/present response"
-        if {[catch {egw_wait zleft 60}]} {
+        if {[catch {egw_wait zleft 60} reason]} {
+            if {![string compare $reason cancel]} {
+                for {set i 1} {$i <= $not} {incr i} {
+                    catch {z39$i disconnect}
+                    set zstatus($i) -1
+                }
+                return
+            } else {
+                for {set i 1} {$i <= $not} {incr i} {
+                    if {$zstatus($i) != 2} {
+                        catch {z39$i disconnect}
+                    }
+                }
+            }
             break
         }
     }
@@ -1613,7 +1642,10 @@ proc z39history {} {
                 html {">Query</a>: }
             }
             set op {}
-            for {set j 1} {$j <= 3} {incr j} {
+            for {set j 1} {$j <= 10} {incr j} {
+                if {![info exists hist($setNo,form,entry$j)]} {
+                    break
+                }
                 if {[string length $hist($setNo,form,entry$j)] > 0} {
                     html " <b>" [join $op " "] "</b> "
                 set pre [join $hist($setNo,form,menu$j)]
@@ -1657,6 +1689,18 @@ proc button-main {} {
     }
 }
 
+proc button-feedback {} {
+    global useIcons
+
+    html {<a href="http://europagate.dtv.dk/wwwquest.html">}
+    if {$useIcons} {
+        html {<img src="/egwgif/button-user-feedback.gif" alt="User Feedback"
+        border=0></a>}
+    } else {
+        html {User Feedback</a>}
+    }    
+}
+
 proc button-define-target {} {
     global useIcons
     global env
@@ -1784,9 +1828,7 @@ proc button-scan-window {setNo} {
 proc maintenance {} {
     html {<hr>This page is maintained by }
     html {<a href="mailto:pwh@dtv.dk"> Peter Wad Hansen </a>.}
-    html {Last modified 29. january 1996. <br>}
-    html {<em> This and the following pages are under construction and }
-    html {will continue to be so until the end of January 1996.</em>}
+    html {Last modified March 15, 1996. <br>}
 }
 
 proc splitHostSpec {host} {
@@ -1821,6 +1863,7 @@ proc mkAssoc {assoc host} {
             wais $assoc
         } else {
             ir $assoc
+            $assoc maximumRecordSize 1000000
         }
     } else {
         if {![string compare [lindex $targets($host) 1] WAIS]} {
@@ -1829,6 +1872,7 @@ proc mkAssoc {assoc host} {
         } else {
             if {[$assoc comstack] == "tcpip"} return
             ir $assoc
+            $assoc maximumRecordSize 1000000
         }
     }
 }