our ($tagslib);
-sub build_tabs ($$$$$) {
+sub build_tabs {
my ( $template, $record, $dbh, $encoding,$input ) = @_;
# fill arrays
my @subf=$field->subfields;
# loop through each subfield
for my $i (0..$#subf) {
- $subf[$i][0] = "@" unless $subf[$i][0];
+ $subf[$i][0] = "@" unless defined $subf[$i][0];
next
if (
$tagslib->{ $field->tag() }->{ $subf[$i][0] }->{tab}
my $authid = $query->param('authid');
+my $authtypecode = GetAuthTypeCode($authid);
+$tagslib = &GetTagsLabels(1,$authtypecode);
+# Build list of authtypes for showing them
+my $authtypes = getauthtypes;
+my @authtypesloop;
-# Using default authtypecode, so all fields are seen
-my $authtypecode = '';
-$tagslib = &GetTagsLabels(1,$authtypecode);
+foreach my $thisauthtype (sort { $authtypes->{$b} cmp $authtypes->{$a} } keys %$authtypes) {
+ my %row =(value => $thisauthtype,
+ selected => $thisauthtype eq $authtypecode,
+ authtypetext => $authtypes->{$thisauthtype}{'authtypetext'},
+ );
+ push @authtypesloop, \%row;
+}
+
+my $record=GetAuthority($authid);
+
+if (not defined $record) {
+ # authid invalid
+ $template->param ( errauthid => $authid,
+ unknownauthid => 1,
+ authtypesloop => \@authtypesloop );
+ output_html_with_http_headers $query, $cookie, $template->output;
+ exit;
+}
-my $record;
if (C4::Context->preference("AuthDisplayHierarchy")){
- my $trees=BuildUnimarcHierarchies($authid);
- my @trees = split /;/,$trees ;
- push @trees,$trees unless (@trees);
- my @loophierarchies;
- foreach my $tree (@trees){
- my @tree=split /,/,$tree;
- push @tree,$tree unless (@tree);
- my $cnt=0;
- my @loophierarchy;
- foreach my $element (@tree){
- my $elementdata = GetAuthority($element);
- $record= $elementdata if ($authid==$element);
- push @loophierarchy, BuildUnimarcHierarchy($elementdata,"child".$cnt, $authid);
- $cnt++;
- }
- push @loophierarchies, { 'loopelement' =>\@loophierarchy};
- }
- $template->param(
- 'displayhierarchy' =>C4::Context->preference("AuthDisplayHierarchy"),
- 'loophierarchies' =>\@loophierarchies,
- );
-} else {
- $record=GetAuthority($authid);
+ $template->{VARS}->{'displayhierarchy'} = C4::Context->preference("AuthDisplayHierarchy");
+ $template->{VARS}->{'loophierarchies'} = GenerateHierarchy($authid);
}
+
my $count = CountUsage($authid);
# find the marc field/subfield used in biblio by this authority
}
chop $biblio_fields;
-
-# fill arrays
-my @loop_data =();
-my $tag;
-# loop through each tab 0 through 9
-# for (my $tabloop = 0; $tabloop<=10;$tabloop++) {
-# loop through each tag
- build_tabs ($template, $record, $dbh,"",$query);
-
-my $authtypes = getauthtypes;
-my @authtypesloop;
-foreach my $thisauthtype (sort { $authtypes->{$b} cmp $authtypes->{$a} } keys %$authtypes) {
- my %row =(value => $thisauthtype,
- selected => $thisauthtype eq $authtypecode,
- authtypetext => $authtypes->{$thisauthtype}{'authtypetext'},
- );
- push @authtypesloop, \%row;
-}
+build_tabs ($template, $record, $dbh,"",$query);
$template->param(authid => $authid,
count => $count,
authtypetext => $authtypes->{$authtypecode}{'authtypetext'},
authtypesloop => \@authtypesloop,
);
+
+$template->{VARS}->{marcflavour} = C4::Context->preference("marcflavour");
output_html_with_http_headers $query, $cookie, $template->output;