X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=opac%2Fopac-authoritiesdetail.pl;h=6610dfda5c8e8662d985840b77b0a977183d3759;hb=465e58b5947ad345bff858c459434c3c665a6b96;hp=430f0f26a191c74465a827b028c62640144e5da0;hpb=4bf76c2d77cb32dd7147b11334eb17aa959955ba;p=koha_gimpoz diff --git a/opac/opac-authoritiesdetail.pl b/opac/opac-authoritiesdetail.pl index 430f0f26a1..6610dfda5c 100755 --- a/opac/opac-authoritiesdetail.pl +++ b/opac/opac-authoritiesdetail.pl @@ -13,9 +13,9 @@ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =head1 NAME @@ -23,6 +23,7 @@ opac-authoritiesdetail.pl : script to show an authority in MARC format =head1 SYNOPSIS +=cut =head1 DESCRIPTION @@ -33,11 +34,11 @@ parameters tables. =head1 FUNCTIONS -=over 2 - =cut use strict; +use warnings; + use C4::AuthoritiesMarc; use C4::Auth; use C4::Context; @@ -61,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, } ); @@ -119,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} ); @@ -136,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}; @@ -162,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(