X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=www%2Fz39util.tcl;h=3eb4dff5e265a1c5e0aead9f743213ea974ae4e0;hb=73041203f9c387b4596185203b1daebe2f4f30e9;hp=3a2c69482c9a0e243bb1443fa1c46631f31072e6;hpb=df7b985601de6c729147a6fd6588adba6f905480;p=egate.git
diff --git a/www/z39util.tcl b/www/z39util.tcl
index 3a2c694..3eb4dff 100644
--- a/www/z39util.tcl
+++ b/www/z39util.tcl
@@ -1,5 +1,5 @@
#
-# $Id: z39util.tcl,v 1.15 1996/01/02 10:52:32 adam Exp $
+# $Id: z39util.tcl,v 1.23 1996/01/24 08:27:23 adam Exp $
#
proc saveState {} {
uplevel #0 {
@@ -70,6 +70,8 @@ proc display-brief {zset no tno} {
global setNo
global sessionId
+
+ html {
}
set type [$zset type $no]
if {$type == "SD"} {
set err [lindex [$zset diag $no] 1]
@@ -83,7 +85,6 @@ proc display-brief {zset no tno} {
if {$type != "DB"} {
return
}
- html "${no}"
set rtype [$zset recordType $no]
if {$rtype == "SUTRS"} {
html [join [$zset getSutrs $no]]
@@ -91,12 +92,70 @@ proc display-brief {zset no tno} {
return
}
if {![catch {
- set title [lindex [$zset getMarc $no field 245 * a] 0]
- set year [lindex [$zset getMarc $no field 260 * c] 0]
+ set author [$zset getMarc $no field 100 * a]
+ 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]
} ] } {
- html { } $title {} " ${year} "
+ set p 0
+ foreach a $author {
+ if {$p} {
+ html ", "
+ }
+ 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 {}
+ set nope 1
+ foreach v $title {
+ html $v
+ set nope 0
+ }
+ if {$nope} {
+ html {No title}
+ }
+ html { }
+ foreach v $cover {
+ html $v
+ }
+ html {
}
+ foreach v $location {
+ html " $v"
+ }
+ foreach v $publisher {
+ html " $v"
+ }
+ foreach v $year {
+ html " $v"
+ }
+ html { -- }
+ html "view full"
}
html "
\n"
}
@@ -149,7 +208,7 @@ proc display-raw {zset no tno} {
}
html $data
}
- htmlr {
}
+ html "
\n"
}
}
@@ -268,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 "" ""
@@ -361,20 +429,19 @@ 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 [egw_form entry$i]
+ if {$term != ""} {
+ set field [join [egw_form menu$i]]
+ set attr {Title}
+ 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 ""
}
@@ -385,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]
- if {$term != ""} {
- set field [wform menu$i]
+ set term [join [egw_form entry$i]]
+ if {[string length $term] > 0} {
+ set field [join [egw_form menu$i]]
foreach x [lindex $targets($t) 2] {
if {[lindex $x 0] == $field} {
set attr [lindex $x 1]
@@ -403,13 +470,13 @@ proc build-query {t ilines} {
{}
{ set q "${attr} ${term}" }
}
- set op [wform logic$i]
+ set op [egw_form logic$i]
}
}
return $q
}
-proc z39scan {setNo scanNo tno scanLines scanPos} {
+proc z39scan {setNo scanNo tno scanLines scanPos cache} {
global hist
global sessionWait
global targets
@@ -446,7 +513,7 @@ proc z39scan {setNo scanNo tno scanLines scanPos} {
displayError "Cannot connect to target" $host
return 0
} elseif {$sessionWait == 0} {
- if {[catch {zwait sessionWait 300}]} {
+ if {[catch {egw_wait sessionWait 300}]} {
$zz disconnect
displayError "Cannot connect to target" $host
return 0
@@ -463,7 +530,7 @@ proc z39scan {setNo scanNo tno scanLines scanPos} {
$zz disconnect
return 0
}
- if {[catch {zwait sessionWait 60}]} {
+ if {[catch {egw_wait sessionWait 60}]} {
displayError "Cannot initialize target" $host
$zz disconnect
return 0
@@ -480,7 +547,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
}
}
@@ -496,8 +563,8 @@ proc z39scan {setNo scanNo tno scanLines scanPos} {
set sessionWait 0
$zs scan "${scanAttr} ${scanTerm}"
- if {[catch {zwait sessionWait 600}]} {
- wlog debug "timeout/cancel in scan"
+ if {[catch {egw_wait sessionWait 60}]} {
+ egw_log debug "timeout/cancel in scan"
displayError "Timeout in scan" {}
html "