Previus/next scan buttons in scan.
[egate.git] / www / z39util.tcl
index 3a2c694..9413385 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: z39util.tcl,v 1.15 1996/01/02 10:52:32 adam Exp $
+# $Id: z39util.tcl,v 1.16 1996/01/03 08:59:45 adam Exp $
 #
 proc saveState {} {
     uplevel #0 {
@@ -361,20 +361,18 @@ proc display-rec {from to dfunc tno} {
     }
 }
 
-proc build-scan {t ilines} {
+proc build-scan {t i} {
     global targets
 
-    for {set i 1} {$i <= $ilines} {incr i} {
-        set term [wform entry$i]
-        if {$term != ""} {
-            set field [wform menu$i]
-            foreach x [lindex $targets($t) 2] {
-                if {[lindex $x 0] == $field} {
-                    set attr [lindex $x 1]
-                }
+    set term [wform entry$i]
+    if {$term != ""} {
+        set field [wform menu$i]
+        foreach x [lindex $targets($t) 2] {
+            if {[lindex $x 0] == $field} {
+                set attr [lindex $x 1]
             }
-            return [list $term $attr]
         }
+        return [list $term $attr]
     }
     return ""
 }
@@ -409,7 +407,7 @@ proc build-query {t ilines} {
     return $q
 }
 
-proc z39scan {setNo scanNo tno scanLines scanPos} {
+proc z39scan {setNo scanNo tno scanLines scanPos cache} {
     global hist
     global sessionWait
     global targets
@@ -480,7 +478,7 @@ proc z39scan {setNo scanNo tno scanLines scanPos} {
             return 0
         }
     } else {
-        if {![catch [list $zs numberOfTermsRequested 5]]} {
+        if {$cache && ![catch [list $zs numberOfTermsRequested 5]]} {
             return 1
         }
     }
@@ -517,6 +515,8 @@ proc z39scan {setNo scanNo tno scanLines scanPos} {
 proc display-scan {setNo scanNo tno} {
     global hist
     global targets
+    global env
+    global sessionId
 
     if {$tno > 0} {
         set zz z39$tno
@@ -525,16 +525,30 @@ proc display-scan {setNo scanNo tno} {
     }
     set zs $zz.s$scanNo.$setNo
     set m [$zs numberOfEntriesReturned]
-
-    html "<dl>\n"
+        
+    if {$m > 0} {
+        set t [lindex [$zs scanLine 0] 1]
+        if {$tno > 0} {
+            set hist($setNo,$tno,[expr $scanNo - 1],scanTerm) $t
+        } else {
+            set hist($setNo,[expr $scanNo - 1],scanTerm) $t
+        }
+        set t [lindex [$zs scanLine [expr $m - 1]] 1]
+        if {$tno > 0} {
+            set hist($setNo,$tno,[expr $scanNo + 1],scanTerm) $t
+        } else {
+            set hist($setNo,[expr $scanNo + 1],scanTerm) $t
+        }
+    }
     for {set i 0} {$i < $m} {incr i} {
-        html "<dt>"
+        html {<a href="http:} $env(SCRIPT_NAME)
+        html / $sessionId {/query.egw/} $hist($setNo,host) + $setNo +
+        html $hist($setNo,scan) + [lindex [$zs scanLine $i] 1] {">}
         html [lindex [$zs scanLine $i] 1]
-        html ": "
+        html {</a>: <em>}
         html [lindex [$zs scanLine $i] 2]
-        html "\n"
+        html "</em><br>\n"
     }
-    html "</dl>\n"
 }
 
 proc z39search {setNo piggy tno elements} {