Lines 1144-1149
sub BuildSummary {
Link Here
|
1144 |
return \%summary; |
1144 |
return \%summary; |
1145 |
} |
1145 |
} |
1146 |
|
1146 |
|
|
|
1147 |
=head2 GetAuthorizedHeading |
1148 |
|
1149 |
$heading = &GetAuthorizedHeading({ record => $record, authid => $authid }) |
1150 |
|
1151 |
Takes a MARC::Record object describing an authority record or an authid, and |
1152 |
returns a string representation of the first authorized heading. This routine |
1153 |
should be considered a temporary shim to ease the future migration of authority |
1154 |
data from C4::AuthoritiesMarc to the object-oriented Koha::*::Authority. |
1155 |
|
1156 |
=cut |
1157 |
|
1158 |
sub GetAuthorizedHeading { |
1159 |
my $args = shift; |
1160 |
my $record; |
1161 |
unless ($record = $args->{record}) { |
1162 |
return unless $args->{authid}; |
1163 |
$record = GetAuthority($args->{authid}); |
1164 |
} |
1165 |
if (C4::Context->preference('marcflavour') eq 'UNIMARC') { |
1166 |
# construct UNIMARC summary, that is quite different from MARC21 one |
1167 |
# accepted form |
1168 |
foreach my $field ($record->field('2..')) { |
1169 |
return $field->as_string('abcdefghijlmnopqrstuvwxyz'); |
1170 |
} |
1171 |
} else { |
1172 |
foreach my $field ($record->field('1..')) { |
1173 |
my $tag = $field->tag(); |
1174 |
next if "152" eq $tag; |
1175 |
# FIXME - 152 is not a good tag to use |
1176 |
# in MARC21 -- purely local tags really ought to be |
1177 |
# 9XX |
1178 |
if ($tag eq '100') { |
1179 |
return $field->as_string('abcdefghjklmnopqrstvxyz68'); |
1180 |
} elsif ($tag eq '110') { |
1181 |
return $field->as_string('abcdefghklmnoprstvxyz68'); |
1182 |
} elsif ($tag eq '111') { |
1183 |
return $field->as_string('acdefghklnpqstvxyz68'); |
1184 |
} elsif ($tag eq '130') { |
1185 |
return $field->as_string('adfghklmnoprstvxyz68'); |
1186 |
} elsif ($tag eq '148') { |
1187 |
return $field->as_string('abvxyz68'); |
1188 |
} elsif ($tag eq '150') { |
1189 |
return $field->as_string('abvxyz68'); |
1190 |
} elsif ($tag eq '151') { |
1191 |
return $field->as_string('avxyz68'); |
1192 |
} elsif ($tag eq '155') { |
1193 |
return $field->as_string('abvxyz68'); |
1194 |
} elsif ($tag eq '180') { |
1195 |
return $field->as_string('vxyz68'); |
1196 |
} elsif ($tag eq '181') { |
1197 |
return $field->as_string('vxyz68'); |
1198 |
} elsif ($tag eq '182') { |
1199 |
return $field->as_string('vxyz68'); |
1200 |
} elsif ($tag eq '185') { |
1201 |
return $field->as_string('vxyz68'); |
1202 |
} else { |
1203 |
return $field->as_string(); |
1204 |
} |
1205 |
} |
1206 |
} |
1207 |
return; |
1208 |
} |
1209 |
|
1147 |
=head2 BuildUnimarcHierarchies |
1210 |
=head2 BuildUnimarcHierarchies |
1148 |
|
1211 |
|
1149 |
$text= &BuildUnimarcHierarchies( $authid, $force) |
1212 |
$text= &BuildUnimarcHierarchies( $authid, $force) |
1150 |
- |
|
|