Modified the brief/full display formats.
[egate.git] / www / z39util.tcl
index e2dca2f..51d3e18 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: z39util.tcl,v 1.19 1996/01/09 16:16:49 adam Exp $
+# $Id: z39util.tcl,v 1.22 1996/01/23 14:22:03 adam Exp $
 #
 proc saveState {} {
     uplevel #0 {
@@ -93,8 +93,17 @@ proc display-brief {zset no tno} {
     } 
     if {![catch {
         set author [$zset getMarc $no field 100 * a]
-        set title [lindex [$zset getMarc $no field 245 * a] 0]
-        set year [lindex [$zset getMarc $no field 260 * c] 0]
+        set corp [$zset getMarc $no field 110 * a]
+        set meet [$zset getMarc $no field 111 * a]
+        set title [$zset getMarc $no field 245 * a]
+       if {[llength $author] == 0} {
+            set cover [$zset getMarc $no field 245 * {[bc]}]
+       } else {
+            set cover [$zset getMarc $no field 245 * b]
+       }
+       set location [$zset getMarc $no field 260 * a] 
+       set publisher [$zset getMarc $no field 260 * b]
+        set year [$zset getMarc $no field 260 * c]
     } ] } {
         set p 0
         foreach a $author {
@@ -104,17 +113,49 @@ proc display-brief {zset no tno} {
             html $a
             set p 1
         }
+        foreach a $corp {
+            if {$p} {
+                html ", "
+            }
+            html $a
+            set p 1
+        }
+        foreach a $meet {
+            if {$p} {
+                html ", "
+            }
+            html $a
+            set p 1
+        }
         if {$p} {
             html ": "
         }
-        html {<a href="http:} $env(SCRIPT_NAME) /
-        html $sessionId {/showfull.egw/} $setNo + $tno + $no + full {">}
-        if {[string length $title] == 0} {
-            html {No title}
-        } else {
-            html $title
+       html {<em>}
+       set nope 1
+        foreach v $title {
+            html $v
+            set nope 0
+        }
+        if {$nope} {
+            html {No title} 
         }
-        html {</a>} " <i> ${year} </i>"
+        html {</em> }
+       foreach v $cover {
+           html $v
+       }
+        html {<br>}
+       foreach v $location {
+           html " $v"
+        }
+       foreach v $publisher {
+           html " $v"
+        }
+       foreach v $year {
+           html " $v"
+        }
+        html { -- <a href="http:} $env(SCRIPT_NAME) /
+        html $sessionId {/showfull.egw/} $setNo + $tno + $no + full {">}
+       html "<em>view full</em></a>"
     }
     html "<br>\n"
 }
@@ -286,8 +327,17 @@ proc display-full {zset no tno} {
     }
     set n [dl-marc-field $zset $no 710 a "Corporate Name" {} ", "]
     if {$n == 0} {
-        set n [dl-marc-field $zset $no 710 a "Corporate Name" {} ", "]
+        set n [dl-marc-field $zset $no 110 a "Corporate Name" {} ", "]
     }
+    set n [dl-marc-field $zset $no 711 a "Meeting Name" {} ", "]
+    if {$n > 0} {
+       dd-marc-field $zset $no 711 {[bndc]} " " ""
+    } else {
+        set n [dl-marc-field $zset $no 111 a "Meeting Name" {} ", "]
+       if {$n > 0} {
+           dd-marc-field $zset $no 111 {[bndc]} " " " "
+       }
+    } 
     set n [dl-marc-field $zset $no 245 {a} "Title" {} " "]
     if {$n > 0} {
         dd-marc-field $zset $no 245 b "<em>" "</em>"
@@ -384,7 +434,8 @@ proc build-scan {t i} {
 
     set term [wform entry$i]
     if {$term != ""} {
-        set field [wform menu$i]
+        set field [join [wform menu$i]]
+        set attr {Title}
         foreach x [lindex $targets($t) 2] {
             if {[lindex $x 0] == $field} {
                 set attr [lindex $x 1]
@@ -401,9 +452,9 @@ proc build-query {t ilines} {
     set op {}
     set q {}
     for {set i 1} {$i <= $ilines} {incr i} {
-        set term [wform entry$i]
+        set term [join [wform entry$i]]
         if {[string length $term] > 0} {
-            set field [wform menu$i]
+            set field [join [wform menu$i]]
             foreach x [lindex $targets($t) 2] {
                 if {[lindex $x 0] == $field} {
                     set attr [lindex $x 1]
@@ -512,7 +563,7 @@ proc z39scan {setNo scanNo tno scanLines scanPos cache} {
     set sessionWait 0
     $zs scan "${scanAttr} ${scanTerm}"
 
-    if {[catch {zwait sessionWait 600}]} {
+    if {[catch {zwait sessionWait 60}]} {
         wlog debug "timeout/cancel in scan"
         displayError "Timeout in scan" {}
         html "</body></html>\n"
@@ -971,9 +1022,11 @@ proc button-view-history {more} {
     global useIcons
     global env
     global sessionId
+    global nextSetNo
 
     html {<a href="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/history.egw}
+    html / $sessionId {/history.egw;}
+    catch { html "/" $nextSetNo}
     if {$useIcons} {
         html {"><img src="/egwgif/button-view-history.gif" alt="View History" }
         html {border=0></a>}
@@ -1008,6 +1061,27 @@ proc button-new-query {more setNo} {
     }
 }
 
+proc button-scan-window {more setNo} {
+    global useIcons
+    global env
+    global sessionId
+    global hist
+
+    html {<a href="http:} $env(SCRIPT_NAME)
+    html / $sessionId {/search.egw/} $setNo + {scan} {">}
+    if {$useIcons} {
+        html {<img src="/egwgif/button-scan-window.gif" }
+       html {alt="Scan" border=0></a>}
+    } else {
+        html {Scan</a>}
+        if {$more} {
+            html " | \n"
+        } else {
+            html "\n"
+        }
+    }
+}
+
 proc maintenance {} {
     html {<hr>This page is maintained by }
     html {<a href="mailto:pwh@dtv.dk"> Peter Wad Hansen </a>.}