-for (my $tabloop = 0; $tabloop<=10;$tabloop++) {
-# loop through each tag
- my @fields = $record->fields();
- my @loop_data =();
-# foreach my $field (@fields) {
- my @subfields_data;
- for (my $x_i=0;$x_i<=$#fields;$x_i++) {
-# warn "$tabloop => $x_i";
- # if tag <10, there's no subfield, use the "@" trick
- if ($fields[$x_i]->tag()<10) {
- next if ($tagslib->{$fields[$x_i]->tag()}->{'@'}->{tab} ne $tabloop);
- next if ($tagslib->{$fields[$x_i]->tag()}->{'@'}->{hidden});
- my %subfield_data;
- $subfield_data{marc_lib}=$tagslib->{$fields[$x_i]->tag()}->{'@'}->{lib};
- $subfield_data{marc_value}=$fields[$x_i]->data();
- $subfield_data{marc_subfield}='@';
- $subfield_data{marc_tag}=$fields[$x_i]->tag();
- push(@subfields_data, \%subfield_data);
- } else {
- my @subf=$fields[$x_i]->subfields;
- # loop through each subfield
- for my $i (0..$#subf) {
- $subf[$i][0] = "@" unless $subf[$i][0];
- next if ($tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}->{tab} ne $tabloop);
- next if ($tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}->{hidden});
- my %subfield_data;
- $subfield_data{marc_lib}=$tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}->{lib};
- $subfield_data{link}=$tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}->{link};
-# warn "tag : ".$tagslib->{$fields[$x_i]->tag()}." subfield :".$tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}."lien koha? : "$subfield_data{link};
- if ($tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}->{isurl}) {
- $subfield_data{marc_value}="<a href=\"$subf[$i][1]\">$subf[$i][1]</a>";
- } elsif ($tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}->{kohafield} eq "biblioitems.isbn") {
-# warn " tag : ".$tagslib->{$fields[$x_i]->tag()}." subfield :".$tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}. "ISBN : ".$subf[$i][1]."PosttraitementISBN :".DisplayISBN($subf[$i][1]);
- $subfield_data{marc_value}=DisplayISBN($subf[$i][1]);
- } else {
- if ($tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}->{authtypecode}) {
- $subfield_data{authority}=$fields[$x_i]->subfield(9);
- }
- $subfield_data{marc_value}=get_authorised_value_desc($fields[$x_i]->tag(), $subf[$i][0], $subf[$i][1], '', $dbh);
- }
- $subfield_data{marc_subfield}=$subf[$i][0];
- $subfield_data{marc_tag}=$fields[$x_i]->tag();
- push(@subfields_data, \%subfield_data);
- }
- }
- if ($#subfields_data>=0) {
- my %tag_data;
- if ($fields[$x_i]->tag() eq $fields[$x_i-1]->tag()) {
- $tag_data{tag}="";
- } else {
- $tag_data{tag}=$fields[$x_i]->tag().' -'. $tagslib->{$fields[$x_i]->tag()}->{lib};
- }
- my @tmp = @subfields_data;
- $tag_data{subfield} = \@tmp;
- push (@loop_data, \%tag_data);
- undef @subfields_data;
- }
- }
- $template->param($tabloop."XX" =>\@loop_data);
+for ( my $tabloop = 0 ; $tabloop <= 10 ; $tabloop++ ) {
+
+ # loop through each tag
+ my @fields = $record->fields();
+ my @loop_data = ();
+ my @subfields_data;
+
+ # deal with leader
+ unless ( $tagslib->{'000'}->{'@'}->{tab} ne $tabloop )
+ { # or ($tagslib->{'000'}->{'@'}->{hidden} =~ /-7|-4|-3|-2|2|3|5|8/ )) {
+ my %subfield_data;
+ $subfield_data{marc_lib} = $tagslib->{'000'}->{'@'}->{lib};
+ $subfield_data{marc_value} = $record->leader();
+ $subfield_data{marc_subfield} = '@';
+ $subfield_data{marc_tag} = '000';
+ push( @subfields_data, \%subfield_data );
+ my %tag_data;
+ $tag_data{tag} = '000 -' . $tagslib->{'000'}->{lib};
+ my @tmp = @subfields_data;
+ $tag_data{subfield} = \@tmp;
+ push( @loop_data, \%tag_data );
+ undef @subfields_data;
+ }
+ @fields = $record->fields();
+ for ( my $x_i = 0 ; $x_i <= $#fields ; $x_i++ ) {
+
+ # if tag <10, there's no subfield, use the "@" trick
+ if ( $fields[$x_i]->tag() < 10 ) {
+ next
+ if (
+ $tagslib->{ $fields[$x_i]->tag() }->{'@'}->{tab} ne $tabloop );
+ next if ( $tagslib->{ $fields[$x_i]->tag() }->{'@'}->{hidden} =~ /-7|-4|-3|-2|2|3|5|8/);
+ my %subfield_data;
+ $subfield_data{marc_lib} =
+ $tagslib->{ $fields[$x_i]->tag() }->{'@'}->{lib};
+ $subfield_data{marc_value} = $fields[$x_i]->data();
+ $subfield_data{marc_subfield} = '@';
+ $subfield_data{marc_tag} = $fields[$x_i]->tag();
+ push( @subfields_data, \%subfield_data );
+ }
+ else {
+ my @subf = $fields[$x_i]->subfields;
+
+ # loop through each subfield
+ for my $i ( 0 .. $#subf ) {
+ $subf[$i][0] = "@" unless $subf[$i][0];
+ next
+ if (
+ $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] }->{tab}
+ ne $tabloop );
+ next
+ if ( $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] }
+ ->{hidden} =~ /-7|-4|-3|-2|2|3|5|8/);
+ my %subfield_data;
+ $subfield_data{short_desc} = $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] }->{lib};
+ $subfield_data{long_desc} =
+ $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] }->{lib};
+ $subfield_data{link} =
+ $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] }->{link};
+
+# warn "tag : ".$tagslib->{$fields[$x_i]->tag()}." subfield :".$tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}."lien koha? : "$subfield_data{link};
+ if ( $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] }
+ ->{isurl} )
+ {
+ $subfield_data{marc_value} = $subf[$i][1];
+ $subfield_data{is_url} = 1;
+ }
+ elsif ( $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] }
+ ->{kohafield} eq "biblioitems.isbn" )
+ {
+
+# warn " tag : ".$tagslib->{$fields[$x_i]->tag()}." subfield :".$tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}. "ISBN : ".$subf[$i][1]."PosttraitementISBN :".DisplayISBN($subf[$i][1]);
+ $subfield_data{marc_value} = $subf[$i][1];
+ }
+ else {
+ if ( $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] }
+ ->{authtypecode} )
+ {
+ $subfield_data{authority} = $fields[$x_i]->subfield(9);
+ }
+ $subfield_data{marc_value} =
+ GetAuthorisedValueDesc( $fields[$x_i]->tag(),
+ $subf[$i][0], $subf[$i][1], '', $tagslib) || $subf[$i][1];
+
+ }
+ $subfield_data{marc_subfield} = $subf[$i][0];
+ $subfield_data{marc_tag} = $fields[$x_i]->tag();
+ push( @subfields_data, \%subfield_data );
+ }
+ }
+ if ( $#subfields_data == 0 ) {
+ $subfields_data[0]->{marc_lib} = '';
+# $subfields_data[0]->{marc_subfield} = '';
+ }
+ if ( $#subfields_data >= 0) {
+ my %tag_data;
+ if ( $fields[$x_i]->tag() eq $fields[ $x_i - 1 ]->tag() && (C4::Context->preference('LabelMARCView') eq 'economical')) {
+ $tag_data{tag} = "";
+ }
+ else {
+ if ( C4::Context->preference('hide_marc') ) {
+ $tag_data{tag} = $tagslib->{ $fields[$x_i]->tag() }->{lib};
+ }
+ else {
+ $tag_data{tag} =
+ $fields[$x_i]->tag()
+ . ' '
+ . C4::Koha::display_marc_indicators($fields[$x_i])
+ . ' - '
+ . $tagslib->{ $fields[$x_i]->tag() }->{lib};
+ }
+ }
+ my @tmp = @subfields_data;
+ $tag_data{subfield} = \@tmp;
+ push( @loop_data, \%tag_data );
+ undef @subfields_data;
+ }
+ }
+ $template->param( $tabloop . "XX" => \@loop_data );