Lines 63-68
BEGIN {
Link Here
|
63 |
&FindDuplicateAuthority |
63 |
&FindDuplicateAuthority |
64 |
|
64 |
|
65 |
&GuessAuthTypeCode |
65 |
&GuessAuthTypeCode |
|
|
66 |
&RetrieveAuthTypeFromAuthority008 |
66 |
&GuessAuthId |
67 |
&GuessAuthId |
67 |
); |
68 |
); |
68 |
} |
69 |
} |
Lines 331-337
Get the record and tries to guess the adequate authtypecode from its content.
Link Here
|
331 |
sub GuessAuthTypeCode { |
332 |
sub GuessAuthTypeCode { |
332 |
my ($record, $heading_fields) = @_; |
333 |
my ($record, $heading_fields) = @_; |
333 |
return unless defined $record; |
334 |
return unless defined $record; |
334 |
return '' if C4::Preferences('UseAuthority008AsAuthType'); |
335 |
return '' if C4::Context->preference('UseAuthority008AsAuthType'); |
335 |
$heading_fields //= { |
336 |
$heading_fields //= { |
336 |
"MARC21"=>{ |
337 |
"MARC21"=>{ |
337 |
'100'=>{authtypecode=>'PERSO_NAME'}, |
338 |
'100'=>{authtypecode=>'PERSO_NAME'}, |
Lines 396-401
sub GuessAuthTypeCode {
Link Here
|
396 |
return; |
397 |
return; |
397 |
} |
398 |
} |
398 |
|
399 |
|
|
|
400 |
=head2 RetrieveAuthTypeFromAuthority008 |
401 |
|
402 |
my $type = RetrieveAuthTypeFromAuthority008 |
403 |
|
404 |
If the UseAuthority008AsAuthType syspref is enabled then retrieve the multiple authority types from the authority 008 positions 14-16 |
405 |
|
406 |
=cut |
407 |
|
408 |
sub RetrieveAuthTypeFromAuthority008 { |
409 |
|
410 |
my ($record) = @_; |
411 |
return unless ($record && $record->field('008')); |
412 |
|
413 |
my $name = 0; |
414 |
my $subject= 0; |
415 |
my $series = 0; |
416 |
my $pos14 = substr($record->field('008')->data, 14, 1); |
417 |
my $pos15 = substr($record->field('008')->data, 15, 1); |
418 |
my $pos16 = substr($record->field('008')->data, 16, 1); |
419 |
|
420 |
$name = 1 if $pos14 eq 'a'; |
421 |
$subject= 1 if $pos15 eq 'a'; |
422 |
$series = 1 if $pos16 eq 'a'; |
423 |
|
424 |
my %authtypes = ( 'name' => $name, 'subject' => $subject, 'series' => $series); |
425 |
return \%authtypes; |
426 |
} |
427 |
|
399 |
=head2 GuessAuthId |
428 |
=head2 GuessAuthId |
400 |
|
429 |
|
401 |
my $authtid = GuessAuthId($record); |
430 |
my $authtid = GuessAuthId($record); |