[Koha-cvs] CVS: koha MARCdetail.pl,1.23,1.24

Paul POULAIN tipaul at users.sourceforge.net
Wed Dec 22 11:14:46 CET 2004


Update of /cvsroot/koha/koha
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32577

Modified Files:
	MARCdetail.pl 
Log Message:
minor html modif : when a tag is repeated, the tag header is not repeated, but replaced by a space.

Index: MARCdetail.pl
===================================================================
RCS file: /cvsroot/koha/koha/MARCdetail.pl,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -r1.23 -r1.24
*** MARCdetail.pl	2 Nov 2004 17:28:31 -0000	1.23
--- MARCdetail.pl	22 Dec 2004 10:14:43 -0000	1.24
***************
*** 74,77 ****
--- 74,78 ----
  
  my $record =MARCgetbiblio($dbh,$bibid);
+ warn "=>".$record->as_formatted;
  # open template
  my ($template, $loggedinuser, $cookie)
***************
*** 92,126 ****
  	my @fields = $record->fields();
  	my @loop_data =();
! 	foreach my $field (@fields) {
! 			my @subfields_data;
  		# if tag <10, there's no subfield, use the "@" trick
! 		if ($field->tag()<10) {
! 			next if ($tagslib->{$field->tag()}->{'@'}->{tab}  ne $tabloop);
! 			next if ($tagslib->{$field->tag()}->{'@'}->{hidden});
  			my %subfield_data;
! 			$subfield_data{marc_lib}=$tagslib->{$field->tag()}->{'@'}->{lib};
! 			$subfield_data{marc_value}=$field->data();
  			$subfield_data{marc_subfield}='@';
! 			$subfield_data{marc_tag}=$field->tag();
  			push(@subfields_data, \%subfield_data);
  		} else {
! 			my @subf=$field->subfields;
  	# loop through each subfield
  			for my $i (0..$#subf) {
  				$subf[$i][0] = "@" unless $subf[$i][0];
! 				next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{tab}  ne $tabloop);
! 				next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{hidden});
  				my %subfield_data;
! 				$subfield_data{marc_lib}=$tagslib->{$field->tag()}->{$subf[$i][0]}->{lib};
! 				if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{isurl}) {
  					$subfield_data{marc_value}="<a href=\"$subf[$i][1]\">$subf[$i][1]</a>";
  				} else {
! 					if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{authtypecode}) {
! 						$subfield_data{authority}=$field->subfield(9);
  					}
  					$subfield_data{marc_value}=$subf[$i][1];
  				}
  				$subfield_data{marc_subfield}=$subf[$i][0];
! 				$subfield_data{marc_tag}=$field->tag();
  				push(@subfields_data, \%subfield_data);
  			}
--- 93,129 ----
  	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};
! 				if ($tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}->{isurl}) {
  					$subfield_data{marc_value}="<a href=\"$subf[$i][1]\">$subf[$i][1]</a>";
  				} else {
! 					if ($tagslib->{$fields[$x_i]->tag()}->{$subf[$i][0]}->{authtypecode}) {
! 						$subfield_data{authority}=$fields[$x_i]->subfield(9);
  					}
  					$subfield_data{marc_value}=$subf[$i][1];
  				}
  				$subfield_data{marc_subfield}=$subf[$i][0];
! 				$subfield_data{marc_tag}=$fields[$x_i]->tag();
  				push(@subfields_data, \%subfield_data);
  			}
***************
*** 128,134 ****
  		if ($#subfields_data>=0) {
  			my %tag_data;
! 			$tag_data{tag}=$field->tag().' -'. $tagslib->{$field->tag()}->{lib};
! 			$tag_data{subfield} = \@subfields_data;
  			push (@loop_data, \%tag_data);
  		}
  	}
--- 131,143 ----
  		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;
  		}
  	}





More information about the Koha-cvs mailing list