[Koha-cvs] CVS: koha/authorities authorities.pl,1.8.2.1,1.8.2.2

Paul POULAIN tipaul at users.sourceforge.net
Mon May 30 13:26:44 CEST 2005


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

Modified Files:
      Tag: rel_2_2
	authorities.pl 
Log Message:
fixing a bug in repeatable fields + minor improvements.

Index: authorities.pl
===================================================================
RCS file: /cvsroot/koha/koha/authorities/authorities.pl,v
retrieving revision 1.8.2.1
retrieving revision 1.8.2.2
diff -C2 -r1.8.2.1 -r1.8.2.2
*** authorities.pl	28 Apr 2005 08:45:33 -0000	1.8.2.1
--- authorities.pl	30 May 2005 11:26:40 -0000	1.8.2.2
***************
*** 240,243 ****
--- 240,244 ----
  				$tag_data{tag} = $tag;
  				$tag_data{tag_lib} = $tagslib->{$tag}->{lib};
+ 				$tag_data{repeatable} = $tagslib->{$tag}->{repeatable};
  				$tag_data{indicator} = $indicator;
  				$tag_data{subfield_loop} = \@subfields_data;
***************
*** 366,404 ****
  	my @ind_tag = $input->param('ind_tag');
  	my @indicator = $input->param('indicator');
- 	splice(@tags,$addedfield,0,$tags[$addedfield]);
- 	splice(@subfields,$addedfield,0,$subfields[$addedfield]);
- 	splice(@values,$addedfield,0,$values[$addedfield]);
- 	splice(@ind_tag,$addedfield,0,$ind_tag[$addedfield]);
  	my %indicators;
  	for (my $i=0;$i<=$#ind_tag;$i++) {
  		$indicators{$ind_tag[$i]} = $indicator[$i];
  	}
! # search the part of the array to duplicate.
! 	my $start=0;
! 	my $end=0;
! 	my $started;
! 	for (my $i=0;$i<=$#tags;$i++) {
! 		$start=$i if ($start eq 0 && $tags[$i] == $addedfield);
! 		$end=$i if ($start>0 && $tags[$i] eq $addedfield);
! 		last if ($start>0 && $tags[$i] ne $addedfield);
! 	}
! # add an empty line in all arrays. This forces a new field in MARC::Record.
! 	splice(@tags,$end+1,0,'');
! 	splice(@subfields,$end+1,0,'');
! 	splice(@values,$end+1,0,'');
! 	splice(@ind_tag,$end+1,0,'');
! 	splice(@indicator,$end+1,0,'');
! # then duplicate the field.
! 	splice(@tags,$end+2,0, at tags[$start..$end]);
! 	splice(@subfields,$end+2,0, at subfields[$start..$end]);
! 	splice(@values,$end+2,0, at values[$start..$end]);
! 	splice(@ind_tag,$end+2,0, at ind_tag[$start..$end]);
! 	splice(@indicator,$end+2,0, at indicator[$start..$end]);
  
- 	my %indicators;
- 	for (my $i=0;$i<=$#ind_tag;$i++) {
- 		$indicators{$ind_tag[$i]} = $indicator[$i];
- 	}
- 	my $record = MARChtml2marc($dbh,\@tags,\@subfields,\@values,%indicators);
  	build_tabs ($template, $record, $dbh,$encoding);
  	build_hidden_data;
--- 367,378 ----
  	my @ind_tag = $input->param('ind_tag');
  	my @indicator = $input->param('indicator');
  	my %indicators;
  	for (my $i=0;$i<=$#ind_tag;$i++) {
  		$indicators{$ind_tag[$i]} = $indicator[$i];
  	}
! 	my $record = AUTHhtml2marc($dbh,\@tags,\@subfields,\@values,%indicators);
! 	my $field = MARC::Field->new("$addedfield",'','','a'=> "");
! 	$record->append_fields($field);
  
  	build_tabs ($template, $record, $dbh,$encoding);
  	build_hidden_data;
***************
*** 415,419 ****
  }
  
! if ($authid) {
  	build_tabs ($template, $record, $dbh,$encoding);
  	build_hidden_data;
--- 389,394 ----
  }
  
! unless ($op) {
! # 	warn "BUILDING";
  	build_tabs ($template, $record, $dbh,$encoding);
  	build_hidden_data;





More information about the Koha-cvs mailing list