X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=www%2Fz39util.tcl;h=7903fd4773e40b20457945f2129371a2cdc866e1;hb=d1fc0ff84894bba24f827a81597717e9f69b6c06;hp=e2dca2fbc28adfd14b25370dc8bdc61d77f60e58;hpb=cc5af6a5323f9576c208519dbf4351b4f818e166;p=egate.git
diff --git a/www/z39util.tcl b/www/z39util.tcl
index e2dca2f..7903fd4 100644
--- a/www/z39util.tcl
+++ b/www/z39util.tcl
@@ -1,5 +1,5 @@
#
-# $Id: z39util.tcl,v 1.19 1996/01/09 16:16:49 adam Exp $
+# $Id: z39util.tcl,v 1.25 1996/01/24 16:59:29 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 {}
- if {[string length $title] == 0} {
- html {No title}
- } else {
- html $title
+ set nope 1
+ foreach v $title {
+ html $v
+ set nope 0
+ }
+ if {$nope} {
+ html {No title}
+ }
+ html { }
+ foreach v $cover {
+ html $v
+ }
+ if {0} {
+ html {
}
+ foreach v $location {
+ html " $v"
+ }
+ foreach v $publisher {
+ html " $v"
+ }
+ foreach v $year {
+ html " $v"
+ }
}
- html {} " ${year} "
}
html "
\n"
}
@@ -167,7 +208,7 @@ proc display-raw {zset no tno} {
}
html $data
}
- htmlr {
}
+ html "
\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 "" ""
@@ -382,9 +432,10 @@ proc display-rec {from to dfunc tno} {
proc build-scan {t i} {
global targets
- set term [wform entry$i]
+ set term [egw_form entry$i]
if {$term != ""} {
- set field [wform menu$i]
+ 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]
@@ -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 [egw_form entry$i]]
if {[string length $term] > 0} {
- set field [wform menu$i]
+ set field [join [egw_form menu$i]]
foreach x [lindex $targets($t) 2] {
if {[lindex $x 0] == $field} {
set attr [lindex $x 1]
@@ -411,15 +462,15 @@ proc build-query {t ilines} {
}
switch $op {
And
- { set q "@and $q ${attr} ${term}" }
+ { set q "@and $q ${attr} \"${term}\"" }
Or
- { set q "@or $q ${attr} ${term}" }
+ { set q "@or $q ${attr} \"${term}\"" }
{And not}
- { set q "@not $q ${attr} ${term}" }
+ { set q "@not $q ${attr} \"${term}\"" }
{}
- { set q "${attr} ${term}" }
+ { set q "${attr} \"${term}\"" }
}
- set op [wform logic$i]
+ set op [egw_form logic$i]
}
}
return $q
@@ -454,45 +505,46 @@ proc z39scan {setNo scanNo tno scanLines scanPos cache} {
set zs $zz.s$scanNo.$setNo
$zz callback ok-response
$zz failback fail-response
- if {$oldHost != $host} {
+ set thisHost [splitHostSpec $host]
+ if {$oldHost != $thisHost} {
catch [list $zz disconnect]
set sessionWait 0
- if {[catch [list $zz connect $host]]} {
- displayError "Cannot connect to target" $host
+ if {[catch [list $zz connect $thisHost]]} {
+ displayError "Cannot connect to target" $thisHost
return 0
} elseif {$sessionWait == 0} {
- if {[catch {zwait sessionWait 300}]} {
+ if {[catch {egw_wait sessionWait 300}]} {
$zz disconnect
- displayError "Cannot connect to target" $host
+ displayError "Cannot connect to target" $thisHost
return 0
}
if {$sessionWait != 1} {
- displayError "Cannot connect to target" $host
+ displayError "Cannot connect to target" $thisHost
return 0
}
}
$zz idAuthentication $idAuth
set sessionWait 0
if {[catch {$zz init}]} {
- displayError "Cannot initialize target" $host
+ displayError "Cannot initialize target" $thisHost
$zz disconnect
return 0
}
- if {[catch {zwait sessionWait 60}]} {
- displayError "Cannot initialize target" $host
+ if {[catch {egw_wait sessionWait 60}]} {
+ displayError "Cannot initialize target" $thisHost
$zz disconnect
return 0
}
if {$sessionWait != "1"} {
- displayError "Cannot initialize target" $host
+ displayError "Cannot initialize target" $thisHost
$zz disconnect
return 0
}
if {![$zz initResult]} {
set u [$zz userInformationField]
$zz disconnect
- displayError "Cannot initialize target $host" $u
+ displayError "Cannot initialize target $thisHost" $u
return 0
}
} else {
@@ -512,8 +564,8 @@ proc z39scan {setNo scanNo tno scanLines scanPos cache} {
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 "