Lines 55-60
my %subdivisions = (
Link Here
|
55 |
); |
55 |
); |
56 |
|
56 |
|
57 |
my $bib_heading_fields; |
57 |
my $bib_heading_fields; |
|
|
58 |
my $auth_heading_fields; |
58 |
|
59 |
|
59 |
=head1 METHODS |
60 |
=head1 METHODS |
60 |
|
61 |
|
Lines 84-89
sub new {
Link Here
|
84 |
} |
85 |
} |
85 |
} |
86 |
} |
86 |
|
87 |
|
|
|
88 |
unless ( defined $auth_heading_fields ) { |
89 |
my $dbh = C4::Context->dbh; |
90 |
my $sth = $dbh->prepare( |
91 |
"SELECT tagfield, authtypecode |
92 |
FROM auth_tag_structure |
93 |
WHERE authtypecode <> ''" |
94 |
); |
95 |
$sth->execute(); |
96 |
$auth_heading_fields = {}; |
97 |
while ( my ( $tag, $auth_type ) = $sth->fetchrow ) { |
98 |
$auth_heading_fields->{$tag} = { |
99 |
auth_type => $auth_type, |
100 |
subfields => 'abcdefghjklmnopqrstvxyz', |
101 |
}; |
102 |
} |
103 |
} |
104 |
|
87 |
return bless {}, $class; |
105 |
return bless {}, $class; |
88 |
} |
106 |
} |
89 |
|
107 |
|
Lines 92-99
sub new {
Link Here
|
92 |
=cut |
110 |
=cut |
93 |
|
111 |
|
94 |
sub valid_heading_tag { |
112 |
sub valid_heading_tag { |
95 |
my ( $self, $tag ) = @_; |
113 |
my ( $self, $tag, $frameworkcode, $auth ) = @_; |
96 |
return $bib_heading_fields->{$tag}; |
114 |
unless ($auth) { |
|
|
115 |
return $bib_heading_fields->{$tag}; |
116 |
} else { |
117 |
return $auth_heading_fields->{$tag}; |
118 |
} |
97 |
} |
119 |
} |
98 |
|
120 |
|
99 |
=head2 valid_heading_subfield |
121 |
=head2 valid_heading_subfield |
Lines 116-125
sub valid_heading_subfield {
Link Here
|
116 |
=cut |
138 |
=cut |
117 |
|
139 |
|
118 |
sub parse_heading { |
140 |
sub parse_heading { |
119 |
my ( $self, $field ) = @_; |
141 |
my ( $self, $field, $auth ) = @_; |
|
|
142 |
|
143 |
my $tag = $field->tag; |
144 |
my $heading_fields = $auth ? {%$auth_heading_fields} : {%$bib_heading_fields}; |
145 |
my $field_info = $heading_fields->{$tag}; |
120 |
|
146 |
|
121 |
my $tag = $field->tag; |
|
|
122 |
my $field_info = $bib_heading_fields->{$tag}; |
123 |
my $auth_type = $field_info->{'auth_type'}; |
147 |
my $auth_type = $field_info->{'auth_type'}; |
124 |
my $search_heading = _get_search_heading( $field, $field_info->{'subfields'} ); |
148 |
my $search_heading = _get_search_heading( $field, $field_info->{'subfields'} ); |
125 |
my $display_heading = _get_display_heading( $field, $field_info->{'subfields'} ); |
149 |
my $display_heading = _get_display_heading( $field, $field_info->{'subfields'} ); |
126 |
- |
|
|