[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] koha/C4 AuthoritiesMarc.pm [rel_2_2]
From: |
paul poulain |
Subject: |
[Koha-cvs] koha/C4 AuthoritiesMarc.pm [rel_2_2] |
Date: |
Thu, 10 Aug 2006 12:42:34 +0000 |
CVSROOT: /cvsroot/koha
Module name: koha
Branch: rel_2_2
Changes by: paul poulain <tipaul> 06/08/10 12:42:33
Modified files:
C4 : AuthoritiesMarc.pm
Log message:
warn commenting + some bugfixes I forgot to commit (for authorities
editing)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/C4/AuthoritiesMarc.pm?cvsroot=koha&only_with_tag=rel_2_2&r1=1.9.2.23&r2=1.9.2.24
Patches:
Index: AuthoritiesMarc.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/AuthoritiesMarc.pm,v
retrieving revision 1.9.2.23
retrieving revision 1.9.2.24
diff -u -b -r1.9.2.23 -r1.9.2.24
--- AuthoritiesMarc.pm 3 Aug 2006 00:50:34 -0000 1.9.2.23
+++ AuthoritiesMarc.pm 10 Aug 2006 12:42:33 -0000 1.9.2.24
@@ -798,7 +798,6 @@
if ((@$tags[$i] ne $prevtag)){
$j++ unless (@$tags[$i] eq "");
- warn
"IND:".substr(@$indicator[$j],0,1).substr(@$indicator[$j],1,1)."
"address@hidden;
if (!$first){
$xml.="</datafield>\n";
@@ -841,7 +840,7 @@
$prevtag = @$tags[$i];
}
$xml.= MARC::File::XML::footer();
- warn $xml;
+# warn $xml;
return $xml
}
sub AUTHhtml2marc {
@@ -853,38 +852,61 @@
my $field; # if tag >=10
for (my $i=0; $i< @$rtags; $i++) {
# rebuild MARC::Record
+# warn "0=>"address@hidden@$rsubfields[$i]." =
"address@hidden": ";
if (@$rtags[$i] ne $prevtag) {
if ($prevtag < 10) {
if ($prevvalue) {
+ if (($prevtag ne '000') && ($prevvalue
ne "")) {
$record->add_fields((sprintf
"%03s",$prevtag),$prevvalue);
+ } elsif ($prevvalue ne ""){
+ $record->leader($prevvalue);
+ }
}
} else {
- if ($field) {
+ if (($field) && ($field ne "")) {
$record->add_fields($field);
}
}
address@hidden' ';
+ # skip blank tags, I hope this works
+ if (@$rtags[$i] eq ''){
+ $prevtag = @$rtags[$i];
+ undef $field;
+ next;
+ }
if (@$rtags[$i] <10) {
$prevvalue= @$rvalues[$i];
undef $field;
} else {
undef $prevvalue;
+ if (@$rvalues[$i] eq "") {
+ undef $field;
+ } else {
$field = MARC::Field->new( (sprintf
"%03s",@$rtags[$i]), substr(address@hidden,0,1),substr(address@hidden,1,1),
@$rsubfields[$i] => @$rvalues[$i]);
}
+# warn "1=>"address@hidden@$rsubfields[$i]." =
"address@hidden": ".$field->as_formatted;
+ }
$prevtag = @$rtags[$i];
} else {
if (@$rtags[$i] <10) {
address@hidden;
} else {
if (length(@$rvalues[$i])>0) {
+ if ($field) {
$field->add_subfields(@$rsubfields[$i]
=> @$rvalues[$i]);
+ } else {
+ $field = MARC::Field->new( (sprintf
"%03s",@$rtags[$i]), substr(address@hidden,0,1),substr(address@hidden,1,1),
@$rsubfields[$i] => @$rvalues[$i]);
+ }
+# warn "2=>"address@hidden@$rsubfields[$i]." =
"address@hidden": ".$field->as_formatted;
}
}
$prevtag= @$rtags[$i];
}
}
+ #}
# the last has not been included inside the loop... do it now !
- $record->add_fields($field) if $field;
+ $record->add_fields($field) if (($field) && $field ne "");
+ #warn "HTML2MARC=".$record->as_formatted;
return $record;
}
@@ -1059,7 +1081,7 @@
sub FindDuplicate {
my ($record,$authtypecode)address@hidden;
- warn "IN for ".$record->as_formatted;
+# warn "IN for ".$record->as_formatted;
my $dbh = C4::Context->dbh;
# warn "".$record->as_formatted;
@@ -1075,7 +1097,7 @@
my @subfield = split /\[/, $taglist;
my $max = @subfield;
for (my $i=1; $i<$max;$i++){
- warn " ".$subfield[$i];
+# warn " ".$subfield[$i];
$subfield[$i]=substr($subfield[$i],3,1);
# warn " ".$subfield[$i];
}
@@ -1086,7 +1108,7 @@
# warn " field $auth_tag_to_report exists";
while (my ($tag,$subfield) = $sth->fetchrow){
if ($record->field($tag)->subfield($subfield)) {
- warn "tag :".$tag." subfield: $subfield value :
".$record->field($tag)->subfield($subfield);
+# warn "tag :".$tag." subfield: $subfield value :
".$record->field($tag)->subfield($subfield);
push @tags, $tag.$subfield;
# warn "'".$tag.$subfield."' value :".
$record->field($tag)->subfield($subfield);
push @and_or, "and";
@@ -1100,7 +1122,7 @@
my ($finalresult,$nbresult) =
authoritysearch($dbh,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,0,10,$authtypecode);
# there is at least 1 result => return the 1st one
if ($nbresult) {
- warn "XXXXX $nbresult =>
"address@hidden>{authid},@$finalresult[0]->{summary};
+# warn "XXXXX $nbresult =>
"address@hidden>{authid},@$finalresult[0]->{summary};
return @$finalresult[0]->{authid},@$finalresult[0]->{summary};
}
# no result, returns nothing
@@ -1311,8 +1333,11 @@
=cut
-# $Id: AuthoritiesMarc.pm,v 1.9.2.23 2006/08/03 00:50:34 kados Exp $
+# $Id: AuthoritiesMarc.pm,v 1.9.2.24 2006/08/10 12:42:33 tipaul Exp $
# $Log: AuthoritiesMarc.pm,v $
+# Revision 1.9.2.24 2006/08/10 12:42:33 tipaul
+# warn commenting + some bugfixes I forgot to commit (for authorities editing)
+#
# Revision 1.9.2.23 2006/08/03 00:50:34 kados
# fix to bug 1130: Summary display broken for MARC21 Authorities
#