Lots of changes. They aren't visible though.
authorAdam Dickmeiss <adam@indexdata.dk>
Thu, 7 Mar 1996 12:46:07 +0000 (12:46 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Thu, 7 Mar 1996 12:46:07 +0000 (12:46 +0000)
www/Makefile
www/msearch.egw
www/query.egw
www/sameas.egw [new file with mode: 0644]
www/search.egw
www/showfull.egw
www/z39util.tcl
www/ztargets.conf

index 0017069..000302e 100644 (file)
@@ -1,7 +1,7 @@
 # Makefile for www gateway utility
 # Europagate, 1995
 #
-# $Id: Makefile,v 1.33 1996/03/05 18:50:24 adam Exp $
+# $Id: Makefile,v 1.34 1996/03/07 12:46:07 adam Exp $
 #
 SHELL=/bin/sh
 
@@ -19,7 +19,7 @@ TCLLIB=/usr/local/lib/libtcl7.5.a
 TCLINC=
 
 WSCRIPTS=egwscript targets.egw query.egw search.egw showfull.egw z39util.tcl \
- mtargets.egw mquery.egw msearch.egw history.egw tform.egw tdefine.egw
+ mtargets.egw mquery.egw msearch.egw history.egw tform.egw tdefine.egw sameas.egw
 HSCRIPTS=egwindex.html
 CONFFILES=egw.res ztargets.conf
 TPROG1=egwcgi
index a86d918..ee8add3 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 {
-# $Id: msearch.egw,v 1.15 1996/02/29 15:41:38 adam Exp $
+# $Id: msearch.egw,v 1.16 1996/03/07 12:46:08 adam Exp $
 
     if {[info commands saveState] == ""} {
         source z39util.tcl
@@ -61,9 +61,9 @@
             html "$r hits</h3>\n<dd>\n<ul>\n"
 
             if {$hist($setNo,$i,offset) > $hist($setNo,maxPresent)} {
-                display-rec 1 $hist($setNo,maxPresent) display-brief $i
+                display-rec 1 $hist($setNo,maxPresent) display-brief $setNo $i
             } else {
-                display-rec 1 $hist($setNo,$i,offset) display-brief $i
+                display-rec 1 $hist($setNo,$i,offset) display-brief $setNo $i
             }
             html "</ul>"
         }
index fec5af1..d2280ab 100644 (file)
@@ -4,7 +4,7 @@
 </head>
 <body>
 {
-# $Id: query.egw,v 1.34 1996/02/29 15:41:39 adam Exp $
+# $Id: query.egw,v 1.35 1996/03/07 12:46:08 adam Exp $
 
     if {[info commands saveState] == ""} {
         source z39util.tcl
@@ -33,44 +33,44 @@ 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]
 
-    mkAssoc z39 $host
+    mkAssoc z390 $host
 
-    z39 callback ok-response
-    z39 failback fail-response
+    z390 callback ok-response
+    z390 failback fail-response
     set thisHost [splitHostSpec $host]
     if {[string compare $thisHost $oldHost]} {
-        catch {z39 disconnect}
+        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
@@ -85,10 +85,10 @@ 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
         }
@@ -97,7 +97,7 @@ proc ok-response {} {
     set useIcons 1
     button-europagate
     button-new-target 1
-    if {[lsearch [z39 options] scan] >= 0} {
+    if {[lsearch [z390 options] scan] >= 0} {
         button-scan-window 1 $setNo
     }
     button-view-history 0 
@@ -113,11 +113,11 @@ proc ok-response {} {
         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} {
@@ -168,7 +168,7 @@ proc ok-response {} {
             html { value="} $template {"}
         }
         html { size=43> }
-        if {0 && [lsearch [z39 options] scan] >= 0} {
+        if {0 && [lsearch [z390 options] scan] >= 0} {
             html {<input type="checkbox" name="scan} $no {" value="1" scan>}
         }
         if {$no < 3} {
@@ -208,7 +208,7 @@ proc ok-response {} {
     set useIcons 0
     button-europagate
     button-new-target 1
-    if {[lsearch [z39 options] scan] >= 0} {
+    if {[lsearch [z390 options] scan] >= 0} {
         button-scan-window 1 $setNo
     }
     button-view-history 0 
diff --git a/www/sameas.egw b/www/sameas.egw
new file mode 100644 (file)
index 0000000..8209d48
--- /dev/null
@@ -0,0 +1,46 @@
+<html>
+{
+# $Id: sameas.egw,v 1.1 1996/03/07 12:46:08 adam Exp $
+    if {[info commands saveState] == ""} {
+        source z39util.tcl
+    }
+    global nextSetNo
+
+    set setNo [lindex $sessionParms 0]
+    set targetNo [lindex $sessionParms 1]
+    set startPos [lindex $sessionParms 2]
+    set endPos [lindex $sessionParms 3]
+    set docId [lindex $sessionParms 4]
+
+    if {[info exists hist(setNoT,docId$docId)]} {
+        set setNo $hist(setNoT,docId$docId)
+    } else {
+        set hist($nextSetNo,$targetNo,idAuthentication) \
+                $hist($setNo,$targetNo,idAuthentication)
+        set hist($nextSetNo,$targetNo,host) \
+                $hist($setNo,$targetNo,host)
+        set hist($nextSetNo,$targetNo,database) \
+                $hist($setNo,$targetNo,database)
+        set setNo $nextSetNo
+        incr nextSetNo
+    }
+    set hist($setNo,scan) 0
+
+    for {set i 1} {$i <= 3} {incr i} {
+        set hist($setNo,form,menu$i) {}
+        set hist($setNo,form,entry$i) {}
+        set hist($setNo,form,logic$i) {}
+    }
+    set host $hist($setNo,$targetNo,host)
+
+    html "<head><title> WWW/Z39.50 Gateway Search Feedback "
+    html [splitHostSpec $host] 
+    html " </title>\n"
+    html "</head><body>\n"
+
+    set hist($setNo,$targetNo,query) {}
+    set hist($setNo,$targetNo,queryId) $docId
+    egw_log debug "In sameas: got docID $docId"
+    display-result-set-s $setNo $targetNo $startPos $endPos
+}
+</html>
\ No newline at end of file
index 9263dfa..738906b 100644 (file)
@@ -1,8 +1,8 @@
 <html>
 {
-# $Id: search.egw,v 1.33 1996/02/29 15:41:39 adam Exp $
+# $Id: search.egw,v 1.34 1996/03/07 12:46:09 adam Exp $
 
-proc start-scan {scanNo cache dir initSet} {
+proc start-scan {scanNo targetNo cache dir initSet} {
     global sessionId
     global sessionParms
     global sessionWait
@@ -14,7 +14,7 @@ proc start-scan {scanNo cache dir initSet} {
     global useIcons
     global debug
 
-    set host $hist($setNo,host)
+    set host $hist($setNo,$targetNo,host)
 
     html "<head><title> WWW/Z39.50 Gateway Scan " [splitHostSpec $host]
     html " </title>\n"
@@ -40,7 +40,8 @@ proc start-scan {scanNo cache dir initSet} {
             return
         }
         html {<a href="http:} $env(SCRIPT_NAME)
-        html / $sessionId {/search.egw/} $setNo + [expr $scanNo - 1] + b {">}
+        html / $sessionId {/search.egw/} $setNo + $targetNo + 
+        html [expr $scanNo - 1] + b {">}
         if {$useIcons} {
             html {<img src="/egwgif/button-previous-terms.gif" }
             html {alt="Next Terms" border=0></a>}
@@ -49,7 +50,8 @@ proc start-scan {scanNo cache dir initSet} {
         }
 
         html {<a href="http:} $env(SCRIPT_NAME)
-        html / $sessionId {/search.egw/} $setNo + [expr $scanNo + 1] + f {">}
+        html / $sessionId {/search.egw/} $setNo + $targetNo +
+        html [expr $scanNo + 1] + f {">}
         if {$useIcons} {
             html {<img src="/egwgif/button-next-terms.gif" }
             html {alt="Next Terms" border=0></a>}
@@ -67,11 +69,11 @@ proc start-scan {scanNo cache dir initSet} {
         set oSetNo 0
     } else {
         set oSetNo $initSet
-        set databaseDefault $hist($oSetNo,database)
+        set databaseDefault $hist($oSetNo,$targetNo,database)
     }
     
     html {<form action="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/search.egw/} $setNo {+1" method=get>} \n
+    html / $sessionId {/search.egw/} $setNo + $targetNo {+1" method=get>} \n
     set nodb [llength $databases]
     if {$nodb > 1} {
         if {$nodb > 2} {
@@ -130,7 +132,8 @@ proc start-scan {scanNo cache dir initSet} {
     button-europagate
 
     html {<a href="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/search.egw/} $setNo + [expr $scanNo - 1] + b {">}
+    html / $sessionId {/search.egw/} $setNo + $targetNo +
+    html [expr $scanNo - 1] + b {">}
     if {$useIcons} {
         html {<img src="/egwgif/button-previous-terms.gif" }
         html {alt="Next Terms" border=0></a>}
@@ -139,7 +142,8 @@ proc start-scan {scanNo cache dir initSet} {
     }
 
     html {<a href="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/search.egw/} $setNo + [expr $scanNo + 1] + f {">}
+    html / $sessionId {/search.egw/} $setNo + $targetNo +
+    html [expr $scanNo + 1] + f {">}
     if {$useIcons} {
         html {<img src="/egwgif/button-next-terms.gif" }
         html {alt="Next Terms" border=0></a>}
@@ -159,50 +163,12 @@ proc start-scan {scanNo cache dir initSet} {
     }
     html "form: " [egw_form] " <br>\n"
     html "target: " $host " <br>\n"
-    html "databases: " $hist($setNo,database) " <br>\n"
+    html "databases: " $hist($setNo,$targetNo,database) " <br>\n"
     html "selected: " [egw_form base] " <br>\n"
     html "setNo: " $setNo " <br>\n"
     html "nextSetNo: " $nextSetNo " <br>\n"    
 }
 
-proc buttons {setNo setMax startPos after} {
-    global sessionId
-    global useIcons
-    global env
-    global hist
-
-    html "<p>\n"
-    button-europagate
-    if {$setMax > 0 && $setMax < [z39.$setNo resultCount]} {
-        html {<a href="http:} $env(SCRIPT_NAME)
-        html / $sessionId {/search.egw/} $setNo + [expr $setMax + 1]
-        html + [expr $setMax + $hist($setNo,maxPresent)]
-        if {$useIcons} {
-            html {"><img src="/egwgif/button-next-records.gif" alt="Next Records"}
-           html { border=0></a>}
-        } else {
-            html {">Next Records</a>} " | \n"
-        }
-    }
-    if {$setMax > 0 && $startPos != "" && $startPos != "1"} {
-        html {<a href="http:} $env(SCRIPT_NAME)
-        html / $sessionId {/search.egw/} $setNo 
-        html + [expr $startPos - $hist($setNo,maxPresent)]
-        html + [expr $startPos - 1]
-        if {$useIcons} {
-            html {"><img src="/egwgif/button-previous-records.gif" }
-           html {alt="Previous Records" border=0></a>}
-        } else {
-            html {">Previous Records</a>} " | \n"
-        }
-    }
-    button-new-query 1 $setNo
-    button-new-target 1
-    button-view-history 0
-
-    html "<p>\n"
-}
-
     if {[info commands saveState] == ""} {
         source z39util.tcl
     }
@@ -212,12 +178,15 @@ proc buttons {setNo setMax startPos after} {
     global hist
 
     set setNo [lindex $sessionParms 0]
-    set startPos [lindex $sessionParms 1]
-    set endPos [lindex $sessionParms 2]
+    set targetNo [lindex $sessionParms 1]
+    set startPos [lindex $sessionParms 2]
+    set endPos [lindex $sessionParms 3]
 
     if {[egw_form] != ""} {
-        set hist($nextSetNo,idAuthentication) $hist($setNo,idAuthentication)
-        set hist($nextSetNo,host) $hist($setNo,host)
+        set hist($nextSetNo,$targetNo,idAuthentication) \
+            $hist($setNo,$targetNo,idAuthentication)
+        set hist($nextSetNo,$targetNo,host) \
+            $hist($setNo,$targetNo,host)
 
         if {$nextSetNo == $setNo} {
             set setNo $nextSetNo
@@ -239,22 +208,22 @@ proc buttons {setNo setMax startPos after} {
         set hist($setNo,form,logic2) [egw_form logic2]
         set hist($setNo,form,logic3) {}
         
-        set host $hist($setNo,host)
+        set host $hist($setNo,0,host)
         set databases [lindex $targets($host) 1]
 
         set b [egw_form base]
        if {[egw_form baseall] != ""} {
-           set hist($setNo,database) $databases
+           set hist($setNo,0,database) $databases
         } elseif {$b == ""} {
-            set hist($setNo,database) $databases
+            set hist($setNo,0,database) $databases
         } else {
-            set hist($setNo,database) $b
+            set hist($setNo,0,database) $b
         }
         set hist($setNo,maxPresent) [egw_form hits]
         if {$hist($setNo,maxPresent) == ""} {
             set hist($setNo,maxPresent) 30
         }
-        set i [lindex $sessionParms 1]
+        set i [lindex $sessionParms 2]
         if {$i == ""} {
             for {set j 1} {$j <= 3} {incr j} {
                 if {[egw_form scan$j] != ""} {
@@ -266,15 +235,15 @@ proc buttons {setNo setMax startPos after} {
         if {$i != ""} {
             set scanNo 1000
             set hist($setNo,scan) $i
-            set termPlusAttr [build-scan $hist($setNo,host) $i]
+            set termPlusAttr [build-scan $hist($setNo,0,host) $i]
             set hist($setNo,$scanNo,scanTerm) [lindex $termPlusAttr 0]
             set hist($setNo,scanAttr) [lindex $termPlusAttr 1]
-            start-scan $scanNo 0 {} $setNo
+            start-scan $scanNo $targetNo 0 {} $setNo
             html "</body></html>\n"
             egw_abort
             return
         }
-        set query [build-query $hist($setNo,host) 3]
+        set query [build-query $hist($setNo,0,host) 3]
         if {"x$query" == "x"} {
             html "<head><title> WWW/Z39.50 Gateway Search</title>\n<body>\n"
             displayError "Empty query" \
@@ -282,12 +251,15 @@ proc buttons {setNo setMax startPos after} {
             html "</body></html>\n"
             egw_abort
         }
-        set hist($setNo,query) $query
-    } elseif {[lindex $sessionParms 1] == "hyper"} {
+        set hist($setNo,0,query) $query
+    } elseif {[lindex $sessionParms 2] == "hyper"} {
         egw_log debug "hyper search"
-        set hist($nextSetNo,idAuthentication) $hist($setNo,idAuthentication)
-        set hist($nextSetNo,host) $hist($setNo,host)
-        set hist($nextSetNo,database) $hist($setNo,database)
+        set hist($nextSetNo,$targetNo,idAuthentication) \
+            $hist($setNo,$targetNo,idAuthentication)
+        set hist($nextSetNo,$targetNo,host) \
+            $hist($setNo,$targetNo,host)
+        set hist($nextSetNo,$targetNo,database) \
+            $hist($setNo,$targetNo,database)
 
         if {$nextSetNo == $setNo} {
             set setNo $nextSetNo
@@ -296,90 +268,39 @@ proc buttons {setNo setMax startPos after} {
             catch {unset hist($setNo,hits)}
         }
         set hist($setNo,scan) 0
-        set hist($setNo,query) \
-            "$hist($setNo,scanAttr) \"[lindex $sessionParms 2]\""
-        egw_log debug "hyper databases: $hist($setNo,database)"
-        set hist($setNo,form,entry1) [lindex $sessionParms 2]
+        set hist($setNo,$targetNo,query) \
+            "$hist($setNo,scanAttr) \"[lindex $sessionParms 3]\""
+        egw_log debug "hyper databases: $hist($setNo,$targetNo,database)"
+        set hist($setNo,form,entry1) [lindex $sessionParms 3]
         set startPos ""
-    } elseif {[lindex $sessionParms 1] == "scan"} {
+    } elseif {[lindex $sessionParms 2] == "scan"} {
         egw_log debug "star scan"
         set scanNo 1000
         set hist($setNo,$scanNo,scanTerm) {}
-        start-scan $scanNo 0 {} {}
+        start-scan $scanNo $targetNo 0 {} {}
         html "</body></html>\n"
         egw_abort
     } else {
         if {![info exists hist($setNo,scan)]} return
         if {$hist($setNo,scan) > 0} {
-            set scanNo [lindex $sessionParms 1]
-            set dir [lindex $sessionParms 2]
+            set scanNo [lindex $sessionParms 2]
+            set dir [lindex $sessionParms 3]
             if {$scanNo == ""} {
                 set scanNo 1000
             }
-            start-scan $scanNo 1 $dir $setNo
+            start-scan $scanNo $targetNo 1 $dir $setNo
             html "</body></html>\n"
             egw_abort
         }
     }
-    set host $hist($setNo,host)
+    set host $hist($setNo,$targetNo,host)
 
     html "<head><title> WWW/Z39.50 Gateway Search " [splitHostSpec $host] 
     html " </title>\n"
     html "</head><body>\n"
 
-    set setMax 0
-    set setOffset 0
-    set useIcons 1
-    if {$startPos == ""} {
-        if {[z39search $setNo 1 0 B] != "1"} {
-            return
-        }
-        set r [z39.$setNo resultCount]
-
-        set setMax [z39.$setNo resultCount]
-        if {$setMax > $hist($setNo,maxPresent)} {
-            set setMax $hist($setNo,maxPresent)
-        }
-        buttons $setNo $setMax $startPos 0
-
-        set setOffset [z39.$setNo numberOfRecordsReturned]
-        if {$setMax > 0} {
-            html {<h3> Records 1-} $setMax " out of $r</h3>\n"
-        } else {
-            html "<h3> No hits</h3>\n"
-        }
-        egw_flush
-        html "<ul>\n"
-        display-rec 1 $setMax display-brief 0
-        incr setOffset
-
-    } else {
-        if {[z39search $setNo 0 0 B] != "1"} {
-            return 
-        }
-        set r [z39.$setNo resultCount]
-        set setOffset $startPos
-        set setMax [z39.$setNo resultCount]
-        if {$setMax > $endPos} {
-            set setMax $endPos
-        }
-        buttons $setNo $setMax $startPos 0
-        if {$setMax > 0} {
-            html {<h3> Records } $startPos {-} $setMax " out of $r</h3>\n"
-        } else {
-            html "<h3> No hits</h3>\n"
-        }
-        egw_flush
-        html "<ul>\n"
-    }
-    if {$setMax > 0} {
-        z39present $setNo 0 $setOffset $setMax display-brief B
-    }
-    html "</ul>\n"
-    set useIcons 0
-    buttons $setNo $setMax $startPos 1
+    display-result-set-s $setNo $targetNo $startPos $endPos
 }
-
 {
     global debug
     if {!$debug} return
@@ -392,12 +313,11 @@ proc buttons {setNo setMax startPos after} {
     }
     html "form: " [egw_form] " <br>\n"
     html "target: " $host " <br>\n"
-    html "databases: " $hist($setNo,database) " <br>\n"
+    html "databases: " $hist($setNo,$targetNo,database) " <br>\n"
     html "selected: " [egw_form base] " <br>\n"
-    html "query: --" $hist($setNo,query) "-- <br>"
+    html "query: --" $hist($setNo,$targetNo,query) "-- <br>"
     html "setNo: " $setNo " <br>\n"
     html "nextSetNo: " $nextSetNo " <br>\n"
 }
-
 </body>
 </html>
index 85c2194..4c708dd 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 {
-# $Id: showfull.egw,v 1.19 1996/03/05 18:50:25 adam Exp $
+# $Id: showfull.egw,v 1.20 1996/03/07 12:46:09 adam Exp $
 
 proc buttons {setNo tno no format count host after} {
     global sessionId
@@ -55,12 +55,11 @@ proc buttons {setNo tno no format count host after} {
 
     html {<a href="http:} $env(SCRIPT_NAME) / $sessionId 
     if {$tno > 0} {
-        html {/msearch.egw/} 
+        html {/msearch.egw/} $setNo
     } else {
-        html {/search.egw/}
+        html {/search.egw/} $setNo + $tno
     }
-    html $setNo + 1
-    html + $hist($setNo,maxPresent)
+    html + 1 + $hist($setNo,maxPresent)
     if {$useIcons} {
         html {"><img src="/egwgif/button-result-set.gif" }
        html {alt="Result Set" border=0></a>}
@@ -87,13 +86,8 @@ proc buttons {setNo tno no format count host after} {
 
     set setNo $sno
 
-    if {$tno > 0} {
-        set zz z39$tno
-        set host $hist($setNo,$tno,host)
-    } else {
-        set zz z39
-        set host $hist($setNo,host)
-    }
+    set zz z39$tno
+    set host $hist($setNo,$tno,host)
     
     html "<head><title> WWW/Z39.50 Gateway Record " [splitHostSpec $host]
     html " </title>\n"
index d78e5d6..8740be4 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: z39util.tcl,v 1.35 1996/03/05 18:50:26 adam Exp $
+# $Id: z39util.tcl,v 1.36 1996/03/07 12:46:09 adam Exp $
 #
 proc saveState {} {
     uplevel #0 {
@@ -65,9 +65,8 @@ proc fail-response {} {
     set sessionWait -1
 }
 
-proc display-brief {zset no tno} {
+proc display-brief {zset no setNo targetNo} {
     global env
-    global setNo
     global sessionId
 
     html {<li>}
@@ -92,7 +91,7 @@ proc display-brief {zset no tno} {
     }
     if {$rtype == "WAIS"} {
         html { <a href="http:} $env(SCRIPT_NAME) /
-        html $sessionId {/showfull.egw/} $setNo + $tno + $no + full {">}
+        html $sessionId {/showfull.egw/} $setNo + $targetNo + $no + full {">}
         html [join [$zset getWAIS $no headline]]
         html {</a>}
         html "<br>\n"
@@ -113,7 +112,7 @@ proc display-brief {zset no tno} {
         set year [$zset getMarc $no field 260 * c]
     } dispError ] } {
         html { <a href="http:} $env(SCRIPT_NAME) /
-        html $sessionId {/showfull.egw/} $setNo + $tno + $no + full {">}
+        html $sessionId {/showfull.egw/} $setNo + $targetNo + $no + full {">}
         set p 0
         foreach a $author {
             if {$p} {
@@ -159,7 +158,7 @@ proc display-brief {zset no tno} {
         html {</a> }
     } else {
         html { <a href="http:} $env(SCRIPT_NAME) /
-        html $sessionId {/showfull.egw/} $setNo + $tno + $no + full {">}
+        html $sessionId {/showfull.egw/} $setNo + $targetNo + $no + full {">}
         html {No Title}
         html {</a> }
         html "Error: " $dispError "\n"
@@ -304,7 +303,11 @@ proc dl-marc-field-rec {zset no tag lead start stop startid sep} {
     }
 }
 
-proc display-full-wais {zset no} {
+proc display-full-wais {zset no setNo targetNo} {
+    global env
+    global hist
+    global sessionId
+
     set i 0    
     set element junk
     htmlToken l [join [$zset getWAIS $no text]] {
@@ -345,6 +348,10 @@ proc display-full-wais {zset no} {
             }
         }
     }
+    if {![info exists data(title)] || ![info exists data(linkage)]} {
+        html "<tt>" [join [$zset getWAIS $no text]] "</tt>\n"
+        return
+    }
     html {Title: } {<a href="} $data(linkage) {">} $data(title) "</a><br>\n"
     html {URL: } $data(linkage) "<br>\n"
     html {Score: } [$zset getWAIS $no score] "<br>\n"
@@ -358,6 +365,10 @@ proc display-full-wais {zset no} {
     if {[info exists data(lastChecked)]} {
         html {Last checked: } $data(lastChecked) "<br>\n"
     }
+    html {<a href="} $env(SCRIPT_NAME) / $sessionId {/sameas.egw/}
+    html $setNo + $targetNo + 1 + $hist($setNo,maxPresent) +
+    html [egw_enc [$zset getWAIS $no documentID]] {">}
+    html {Similar WAIS record</a><br>}
     html "<ul>\n"
     for {set i 1} {[info exists data($i,linkage)]} {incr i} {
         html {<li><a href="} $data($i,linkage) {">}
@@ -367,7 +378,7 @@ proc display-full-wais {zset no} {
     html "</ul>\n"
 }
 
-proc display-full {zset no tno} {
+proc display-full {zset no setNo targetNo} {
     set type [$zset type $no]
     if {$type == "SD"} {
         set err [lindex [$zset diag $no] 1]
@@ -387,7 +398,7 @@ proc display-full {zset no tno} {
         return
     }
     if {$rtype == "WAIS"} {
-        display-full-wais $zset $no
+        display-full-wais $zset $no $setNo $targetNo
         return
     }
     if {[catch {set r [$zset getMarc $no line * * *]}]} {
@@ -487,19 +498,10 @@ proc display-full {zset no tno} {
 }
 
 
-proc display-rec {from to dfunc tno} {
-    global setNo
-
-    if {$tno > 0} {
-        while {$from <= $to} { 
-            eval "$dfunc z39${tno}.${setNo} $from $tno"
-            incr from
-        }
-    } else {
-        while {$from <= $to} { 
-            eval "$dfunc z39.${setNo} $from 0"
-            incr from
-        }
+proc display-rec {from to dfunc setNo targetNo} {
+    while {$from <= $to} { 
+        eval "$dfunc z39${targetNo}.${setNo} $from $setNo $targetNo"
+        incr from
     }
 }
 
@@ -564,21 +566,13 @@ proc z39scan {setNo scanNo tno scanLines scanPos cache} {
     global sessionWait
     global targets
 
-    if {$tno > 0} {
-        set zz z39$tno
-        set host $hist($setNo,$tno,host)
-        set idAuth $hist($setNo,$tno,idAuthentication)
-        set database $hist($setNo,$tno,database)
-        set scanAttr $hist($setNo,$tno,scanAttr)
-        set scanTerm $hist($setNo,$tno,$scanNo,scanTerm)
-    } else {
-        set zz z39
-        set host $hist($setNo,host)
-        set idAuth $hist($setNo,idAuthentication)
-        set database $hist($setNo,database)
-        set scanAttr $hist($setNo,scanAttr)
-        set scanTerm $hist($setNo,$scanNo,scanTerm)
-    }
+    set zz z39$tno
+    set host $hist($setNo,$tno,host)
+    set idAuth $hist($setNo,$tno,idAuthentication)
+    set database $hist($setNo,$tno,database)
+    set scanAttr $hist($setNo,scanAttr)
+    set scanTerm $hist($setNo,$scanNo,scanTerm)
+
     mkAssoc $zz $host
     if {[catch [list set oldHost [$zz connect]]]} {
         set oldHost ""
@@ -670,11 +664,7 @@ proc display-scan {setNo scanNo tno} {
     global env
     global sessionId
 
-    if {$tno > 0} {
-        set zz z39$tno
-    } else {
-        set zz z39
-    }
+    set zz z39$tno
     set zs $zz.s$scanNo.$setNo
     set m [$zs numberOfEntriesReturned]
         
@@ -707,7 +697,7 @@ proc display-scan {setNo scanNo tno} {
         } else {
             regsub -all {\ } [lindex [$zs scanLine $i] 1] + tterm
             html {<a href="http:} $env(SCRIPT_NAME)
-            html / $sessionId {/search.egw/} $setNo +
+            html / $sessionId {/search.egw/} $setNo + $tno +
             html hyper + $tterm {">}
         }
         html [lindex [$zs scanLine $i] 1]
@@ -724,19 +714,13 @@ proc z39search {setNo piggy tno elements} {
     global sessionWait
     global targets
 
-    if {$tno > 0} {
-        set zz z39$tno
-        set host $hist($setNo,$tno,host)
-        set idAuth $hist($setNo,$tno,idAuthentication)
-        set database $hist($setNo,$tno,database)
-        set query $hist($setNo,$tno,query)
-    } else {
-        set zz z39
-        set host $hist($setNo,host)
-        set idAuth $hist($setNo,idAuthentication)
-        set database $hist($setNo,database)
-        set query $hist($setNo,query)
-    }
+    set zz z39$tno
+    set host $hist($setNo,$tno,host)
+    set idAuth $hist($setNo,$tno,idAuthentication)
+    set database $hist($setNo,$tno,database)
+    set query $hist($setNo,$tno,query)
+    catch {set docId $hist($setNo,$tno,queryId)}
+
     mkAssoc $zz $host
     if {[catch [list set oldHost [$zz connect]]]} {
         set oldHost ""
@@ -826,14 +810,14 @@ proc z39search {setNo piggy tno elements} {
     }
     set sessionWait 0
     egw_log debug "search: $query"
-    if {[catch {$zz.$setNo search $query}]} {
-        displayError "Search fail" "Connection closed"
-        html "</body></html>\n"
-        $zz disconnect
-        return 0
+
+    if {[info exists docId]} {
+        $zz.$setNo search $query $docId
+    } else {
+        $zz.$setNo search $query
     }
 
-    if {[catch {egw_wait sessionWait 60}]} {
+    if {!$sessionWait && [catch {egw_wait sessionWait 60}]} {
         egw_log debug "timeout/cancel in search"
         displayError "Timeout in search" {}
         html "</body></html>\n"
@@ -1096,13 +1080,8 @@ proc z39present {setNo tno setOffset setMax dfunc elements} {
     global sessionWait
     global targets
 
-    if {$tno > 0} {
-        set zz z39$tno
-        set host $hist($setNo,$tno,host)
-    } else {
-        set zz z39
-        set host $hist($setNo,host)
-    }
+    set zz z39$tno
+    set host $hist($setNo,$tno,host)
 
     if {![lindex $targets($host) 5]} {
         set elements {}
@@ -1139,13 +1118,114 @@ proc z39present {setNo tno setOffset setMax dfunc elements} {
                 break
             }
         }
-        display-rec $setOffset [expr $got + $setOffset - 1] $dfunc $tno
+        display-rec $setOffset [expr $got + $setOffset - 1] $dfunc $setNo $tno
         set setOffset [expr $got + $setOffset]
         set toGet [expr 1 + $setMax - $setOffset]
         egw_flush
     }
 }
 
+proc buttons-result-set-s {setNo targetNo setMax startPos after} {
+    global sessionId
+    global useIcons
+    global env
+    global hist
+
+    set zz z39$targetNo
+    html "<p>\n"
+    button-europagate
+    if {$setMax > 0 && $setMax < [$zz.$setNo resultCount]} {
+        html {<a href="http:} $env(SCRIPT_NAME)
+        html / $sessionId {/search.egw/} $setNo + $targetNo + 
+        html [expr $setMax + 1] + [expr $setMax + $hist($setNo,maxPresent)]
+        if {$useIcons} {
+            html {"><img src="/egwgif/button-next-records.gif" alt="Next Records"}
+           html { border=0></a>}
+        } else {
+            html {">Next Records</a>} " | \n"
+        }
+    }
+    if {$setMax > 0 && $startPos != "" && $startPos != "1"} {
+        html {<a href="http:} $env(SCRIPT_NAME)
+        html / $sessionId {/search.egw/} $setNo + $targetNo
+        html + [expr $startPos - $hist($setNo,maxPresent)]
+        html + [expr $startPos - 1]
+        if {$useIcons} {
+            html {"><img src="/egwgif/button-previous-records.gif" }
+           html {alt="Previous Records" border=0></a>}
+        } else {
+            html {">Previous Records</a>} " | \n"
+        }
+    }
+    button-new-query 1 $setNo
+    button-new-target 1
+    button-view-history 0
+
+    html "<p>\n"
+}
+
+proc display-result-set-s {setNo targetNo startPos endPos} {
+    global hist
+    global useIcons
+
+    set zz z39$targetNo
+    set host $hist($setNo,$targetNo,host)
+    set idAuth $hist($setNo,$targetNo,idAuthentication)
+    set database $hist($setNo,$targetNo,database)
+    set query $hist($setNo,$targetNo,query)
+
+    set useIcons 1
+
+    if {$startPos == ""} {
+        if {[z39search $setNo 1 $targetNo B] != "1"} {
+            return
+        }
+        set r [$zz.$setNo resultCount]
+
+        set setMax [$zz.$setNo resultCount]
+        if {$setMax > $hist($setNo,maxPresent)} {
+            set setMax $hist($setNo,maxPresent)
+        }
+        buttons-result-set-s $setNo $targetNo $setMax $startPos 0
+
+        set setOffset [$zz.$setNo numberOfRecordsReturned]
+        if {$setMax > 0} {
+            html {<h3> Records 1-} $setMax " out of $r</h3>\n"
+        } else {
+            html "<h3> No hits</h3>\n"
+        }
+        egw_flush
+        html "<ul>\n"
+        display-rec 1 $setMax display-brief $setNo $targetNo
+        incr setOffset
+
+    } else {
+        if {[z39search $setNo 0 $targetNo B] != "1"} {
+            return 
+        }
+        set r [$zz.$setNo resultCount]
+        set setOffset $startPos
+        set setMax [$zz.$setNo resultCount]
+        if {$setMax > $endPos} {
+            set setMax $endPos
+        }
+        buttons-result-set-s $setNo $targetNo $setMax $startPos 0
+        if {$setMax > 0} {
+            html {<h3> Records } $startPos {-} $setMax " out of $r</h3>\n"
+        } else {
+            html "<h3> No hits</h3>\n"
+        }
+        egw_flush
+        html "<ul>\n"
+    }
+    if {$setMax > 0} {
+        z39present $setNo $targetNo $setOffset $setMax display-brief B
+    }
+    html "</ul>\n"
+    set useIcons 0
+    buttons-result-set-s $setNo $targetNo $setMax $startPos 1
+}
+
 proc z39history {} {
     global nextSetNo
     global hist
@@ -1154,6 +1234,7 @@ proc z39history {} {
     global targets
     global html3
 
+    set targetNo 0
     if {![info exists nextSetNo]} {
         return
     }
@@ -1170,7 +1251,7 @@ proc z39history {} {
     }
     for {set setNo 1} {$setNo < $nextSetNo} {incr setNo} {
         if {$hist($setNo,scan) > 0} continue
-        set host $hist($setNo,host)
+        set host $hist($setNo,0,host)
         if {$html3} {
             html {<td align=left>}
         } else {
@@ -1178,11 +1259,11 @@ proc z39history {} {
         }
         html [lindex $targets($host) 0]
         if {$html3} {
-            html {<td align=left>} [join $hist($setNo,database)]
+            html {<td align=left>} [join $hist($setNo,0,database)]
         } else {
             if {[llength [lindex $targets($host) 1]] > 1} {
                 html ": "
-                foreach b $hist($setNo,database) {
+                foreach b $hist($setNo,0,database) {
                     html " $b"
                 }
             }
@@ -1193,7 +1274,7 @@ proc z39history {} {
         }
         if {[info exists hist($setNo,hits)]} {
             html { <a href="http:} $env(SCRIPT_NAME)
-            html / $sessionId {/search.egw/} $setNo + 1
+            html / $sessionId {/search.egw/} $setNo + $targetNo + 1
             html + $hist($setNo,maxPresent)
             if {1} {
                 html {">} $hist($setNo,hits) {</a>}
@@ -1340,7 +1421,7 @@ proc button-new-query {more setNo} {
     if {$mMode} {
         html {/mquery.egw/} $setNo
     } else {
-        html {/query.egw/} $hist($setNo,host) + $setNo
+        html {/query.egw/} $hist($setNo,0,host) + $setNo
     }
     html {">}
     if {$useIcons} {
@@ -1362,8 +1443,9 @@ proc button-scan-window {more setNo} {
     global sessionId
     global hist
 
+    set targetNo 0
     html {<a href="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/search.egw/} $setNo + {scan} {">}
+    html / $sessionId {/search.egw/} $setNo + $targetNo + {scan} {">}
     if {$useIcons} {
         html {<img src="/egwgif/button-scan-window.gif" }
        html {alt="Scan" border=0></a>}
index 01c6621..6b259af 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ztargets.conf,v 1.26 1996/02/29 15:41:40 adam Exp $
+# $Id: ztargets.conf,v 1.27 1996/03/07 12:46:10 adam Exp $
 #
 # This file contains the predefined targets in the WWW-Z39.50 gateway
 # Each target is an entry in the associative array "targets". The
@@ -187,7 +187,7 @@ set targets(Tikal.dev.oclc.org.AGRICOLA) [list \
 ]
 
 set targets(nwi.ub2.lu.se.sverige) {
-    NWI
+    NWI-Sweden
     sverige
     { { Ranked {@attr 1=4} } }
     {}
@@ -195,3 +195,24 @@ set targets(nwi.ub2.lu.se.sverige) {
     1
     1
 }
+
+
+set targets(nwi.ub2.lu.se.new_nor_lib) {
+    NWI-Norway
+    new_nor_lib
+    { { Ranked {@attr 1=4} } }
+    {}
+    {Nordic Web Index - Norway}
+    1
+    1
+}
+
+set targets(localhost:210.Default) {
+    Ztest
+    Default
+    { { Ranked {@attr 1=4} } }
+    {}
+    {Test server on port 210}
+    1
+    0
+}