Bug 5453 Move declarations out of conditionals in opac
[koha.git] / opac / opac-authoritiesdetail.pl
index 71f746e..6610dfd 100755 (executable)
@@ -62,7 +62,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         template_name   => "opac-authoritiesdetail.tmpl",
         query           => $query,
         type            => "opac",
-        authnotrequired => 1,
+        authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ),
         debug           => 1,
     }
 );
@@ -120,6 +120,9 @@ my @fields    = $record->fields();
 foreach my $field (@fields) {
     my @subfields_data;
 
+    # skip UNIMARC fields <200, they are useless for a patron
+    next if C4::Context->preference('MarcFlavour') eq 'UNIMARC' && $field->tag() <200;
+
     # if tag <10, there's no subfield, use the "@" trick
     if ( $field->tag() < 10 ) {
         next if ( $tagslib->{ $field->tag() }->{'@'}->{hidden} );
@@ -137,6 +140,8 @@ foreach my $field (@fields) {
         for my $i ( 0 .. $#subf ) {
             $subf[$i][0] = "@" unless $subf[$i][0];
             next if ( $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{hidden} );
+            # skip useless subfields (for patrons)
+            next if $subf[$i][0] =~ /7|8|9/;
             my %subfield_data;
             $subfield_data{marc_lib} =
               $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{lib};
@@ -163,18 +168,16 @@ foreach my $field (@fields) {
         push( @loop_data, \%tag_data );
     }
 }
-$template->param( "0XX" => \@loop_data );
-
-my $authtypes = getauthtypes;
-my @authtypesloop;
-foreach my $thisauthtype ( keys %$authtypes ) {
-    my $selected = 1 if $thisauthtype eq $authtypecode;
-    my %row = (
-        value        => $thisauthtype,
-        selected     => $selected,
+$template->param( "Tab0XX" => \@loop_data );
+
+my $authtypes     = getauthtypes();
+my @authtypesloop = ();
+foreach my $thisauthtype ( keys %{$authtypes} ) {
+    push @authtypesloop,
+      { value        => $thisauthtype,
+        selected     => $thisauthtype eq $authtypecode,
         authtypetext => $authtypes->{$thisauthtype}{'authtypetext'},
-    );
-    push @authtypesloop, \%row;
+      };
 }
 
 $template->param(