Fix for broken Biblio.pm
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This commit is contained in:
parent
d3fe1ecf33
commit
0483e34162
1 changed files with 49 additions and 17 deletions
42
C4/Biblio.pm
42
C4/Biblio.pm
|
@ -2359,7 +2359,20 @@ sub TransformHtmlToMarc {
|
|||
|
||||
sub TransformMarcToKoha {
|
||||
my ( $dbh, $record, $frameworkcode, $table ) = @_;
|
||||
|
||||
my $result;
|
||||
|
||||
# sometimes we only want to return the items data
|
||||
# hmm this was just added, ill tidy this up too later
|
||||
if ($table eq 'items') {
|
||||
my $sth = $dbh->prepare("SHOW COLUMNS FROM items");
|
||||
$sth->execute();
|
||||
while ( (my $field) = $sth->fetchrow ) {
|
||||
$result = &TransformMarcToKohaOneField( "items", $field, $record, $result, $frameworkcode );
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
else {
|
||||
my @tables = ('biblio','biblioitems','items');
|
||||
foreach my $table (@tables){
|
||||
my $sth2 = $dbh->prepare("SHOW COLUMNS from $table");
|
||||
|
@ -2367,16 +2380,37 @@ sub TransformMarcToKoha {
|
|||
while (my ($field) = $sth2->fetchrow){
|
||||
# id like to do this, it will break lots of other places, but doing it will stop the namespace clashes
|
||||
# $result->{$table.'.'.$field} = get_kohafield_from_marc($table,$field,$record,$frameworkcode);
|
||||
# so for now doing this
|
||||
# so for now doing this\
|
||||
$result = TransformMarcToKohaOneField( $table, $field, $record, $result, $frameworkcode );
|
||||
}
|
||||
}
|
||||
|
||||
# not sure about this stuff, will revisit
|
||||
#
|
||||
# modify copyrightdate to keep only the 1st year found
|
||||
my $temp = $result->{'copyrightdate'};
|
||||
$temp =~ m/c(\d\d\d\d)/; # search cYYYY first
|
||||
if ( $1 > 0 ) {
|
||||
$result->{'copyrightdate'} = $1;
|
||||
}
|
||||
else { # if no cYYYY, get the 1st date.
|
||||
$temp =~ m/(\d\d\d\d)/;
|
||||
$result->{'copyrightdate'} = $1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
# modify publicationyear to keep only the 1st year found
|
||||
$temp = $result->{'publicationyear'};
|
||||
$temp =~ m/c(\d\d\d\d)/; # search cYYYY first
|
||||
if ( $1 > 0 ) {
|
||||
$result->{'publicationyear'} = $1;
|
||||
}
|
||||
else { # if no cYYYY, get the 1st date.
|
||||
$temp =~ m/(\d\d\d\d)/;
|
||||
$result->{'publicationyear'} = $1;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
=head2 _disambiguate
|
||||
|
||||
=over 4
|
||||
|
@ -2454,11 +2488,9 @@ sub get_kohafield_from_marc {
|
|||
}
|
||||
}
|
||||
return $kohafield;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
=head2 TransformMarcToKohaOneField
|
||||
|
||||
=over 4
|
||||
|
|
Loading…
Reference in a new issue