koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] CVS: koha/acqui.simple addbiblio.pl,1.19,1.20


From: Paul POULAIN
Subject: [Koha-cvs] CVS: koha/acqui.simple addbiblio.pl,1.19,1.20
Date: Wed, 12 Feb 2003 03:03:07 -0800

Update of /cvsroot/koha/koha/acqui.simple
In directory sc8-pr-cvs1:/tmp/cvs-serv29725/acqui.simple

Modified Files:
        addbiblio.pl 
Log Message:
Support for 000 -> 010 fields.
Those fields doesn't have subfields.
In koha, we will use a specific "trick" : fields <10 will have a "virtual" 
subfield : "@".
Note it's only virtual : when rebuilding the MARC::Record, the koha API handle 
correctly "@" subfields => the resulting MARC record has a 00x field without 
subfield.

Index: addbiblio.pl
===================================================================
RCS file: /cvsroot/koha/koha/acqui.simple/addbiblio.pl,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -r1.19 -r1.20
*** addbiblio.pl        3 Feb 2003 18:46:03 -0000       1.19
--- addbiblio.pl        12 Feb 2003 11:03:05 -0000      1.20
***************
*** 48,60 ****
  sub find_value {
        my ($tagfield,$insubfield,$record) = @_;
- #     warn "$tagfield / $insubfield // ";
        my $result;
        my $indicator;
!       foreach my $field ($record->field($tagfield)) {
!               my @subfields = $field->subfields();
!               foreach my $subfield (@subfields) {
!                       if (@$subfield[0] eq $insubfield) {
!                               $result .= @$subfield[1];
!                               $indicator = 
$field->indicator(1).$field->indicator(2);
                        }
                }
--- 48,63 ----
  sub find_value {
        my ($tagfield,$insubfield,$record) = @_;
        my $result;
        my $indicator;
!       if ($tagfield <10) {
!               $result = $record->field($tagfield)->data();
!       } else {
!               foreach my $field ($record->field($tagfield)) {
!                       my @subfields = $field->subfields();
!                       foreach my $subfield (@subfields) {
!                               if (@$subfield[0] eq $insubfield) {
!                                       $result .= @$subfield[1];
!                                       $indicator = 
$field->indicator(1).$field->indicator(2);
!                               }
                        }
                }
***************
*** 164,234 ****
        my @loop_data = ();
        foreach my $tag (sort(keys (%{$tagslib}))) {
!           my $previous_tag = '';
!           my @subfields_data;
!           my $indicator;
! 
!           # loop through each subfield
!           foreach my $subfield (sort(keys %{$tagslib->{$tag}})) {
!               next if subfield_is_koha_internal_p($subfield);
!               next if ($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
!               my %subfield_data;
!               $subfield_data{tag}=$tag;
!               $subfield_data{subfield}=$subfield;
!               $subfield_data{marc_lib}="<DIV 
id=\"error$i\">".$tagslib->{$tag}->{$subfield}->{lib}."</div>";
!               $subfield_data{tag_mandatory}=$tagslib->{$tag}->{mandatory};
!               
$subfield_data{mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
!               
$subfield_data{repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
!               # if breeding is not empty
!               if ($record ne -1) {
!                   my ($x,$value) = find_value($tag,$subfield,$record);
!                   $value=char_decode($value) unless ($is_a_modif);
!                   $indicator = $x if $x; #XXX
!                   if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
!                       $subfield_data{marc_value}= 
build_authorized_values_list($tag, $subfield, $value, $dbh, 
$authorised_values_sth);
!                   } elsif 
($tagslib->{$tag}->{$subfield}->{thesaurus_category}) {
!                       $subfield_data{marc_value}="<input type=\"text\" 
name=\"field_value\"  size=47 maxlength=255> <a 
href=\"javascript:Dopop('../thesaurus_popup.pl?category=$tagslib->{$tag}->{$subfield}->{thesaurus_category}&index=$i',$i)\">...</a>";
 #"
!                   } elsif ($tagslib->{$tag}->{$subfield}->{'value_builder'}) {
!                       my 
$plugin="../value_builder/".$tagslib->{$tag}->{$subfield}->{'value_builder'};
!                       require $plugin;
!                       my $extended_param = 
plugin_parameters($dbh,$record,$tagslib,$i,$tabloop);
!                       my ($function_name,$javascript) = 
plugin_javascript($dbh,$record,$tagslib,$i,$tabloop);
!                       $subfield_data{marc_value}="<input type=\"text\" 
name=\"field_value\"  value=\"$value\" size=47 maxlength=255 
OnFocus=\"javascript:Focus$function_name($i)\" 
OnBlur=\"javascript:Blur$function_name($i)\"> <a 
href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
!                   } else {
!                       $subfield_data{marc_value}="<input type=\"text\" 
name=\"field_value\" value=\"$value\" size=50 maxlength=255>";
!                   }
! 
                # if breeding is empty
!               } else {
!                   my ($x,$value);
!                   ($x,$value) = find_value($tag,$subfield,$record) if 
($record ne -1);
!                   $value=char_decode($value) unless ($is_a_modif);
!                   if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
!                       $subfield_data{marc_value}= 
build_authorized_values_list($tag, $subfield, $value, $dbh, 
$authorised_values_sth);
!                   } elsif 
($tagslib->{$tag}->{$subfield}->{thesaurus_category}) {
!                       $subfield_data{marc_value}="<input type=\"text\" 
name=\"field_value\"  size=47 maxlength=255 DISABLE READONLY> <a 
href=\"javascript:Dopop('../thesaurus_popup.pl?category=$tagslib->{$tag}->{$subfield}->{thesaurus_category}&index=$i',$i)\">...</a>";
!                   } elsif ($tagslib->{$tag}->{$subfield}->{'value_builder'}) {
!                       my 
$plugin="../value_builder/".$tagslib->{$tag}->{$subfield}->{'value_builder'};
!                       require $plugin;
!                       my $extended_param = 
plugin_parameters($dbh,$record,$tagslib,$i,$tabloop);
!                       my ($function_name,$javascript) = 
plugin_javascript($dbh,$record,$tagslib,$i,$tabloop);
!                       $subfield_data{marc_value}="<input type=\"text\" 
name=\"field_value\"  DISABLE READONLY size=47 maxlength=255 
OnFocus=\"javascript:Focus$function_name($i)\" 
OnBlur=\"javascript:Blur$function_name($i)\"> <a 
href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
!                   } else {
!                       $subfield_data{marc_value}="<input type=\"text\" 
name=\"field_value\" size=50 maxlength=255>";
!                   }
                }
!               push(@subfields_data, \%subfield_data);
!               $i++;
!           }
!           if ($#subfields_data >= 0) {
!               my %tag_data;
!               $tag_data{tag} = $tag;
!               $tag_data{tag_lib} = $tagslib->{$tag}->{lib};
!               $tag_data{indicator} = $indicator;
!               $tag_data{subfield_loop} = address@hidden;
!               push (@loop_data, \%tag_data);
!           }
        }
-       $template->param($tabloop."XX" =>address@hidden);
-     }
  }
  
--- 167,236 ----
        my @loop_data = ();
        foreach my $tag (sort(keys (%{$tagslib}))) {
!               my $previous_tag = '';
!               my @subfields_data;
!               my $indicator;
! 
!               # loop through each subfield
!               foreach my $subfield (sort(keys %{$tagslib->{$tag}})) {
!                       next if subfield_is_koha_internal_p($subfield);
!                       next if ($tagslib->{$tag}->{$subfield}->{tab} ne 
$tabloop);
!                       my %subfield_data;
!                       $subfield_data{tag}=$tag;
!                       $subfield_data{subfield}=$subfield;
!                       $subfield_data{marc_lib}="<DIV 
id=\"error$i\">".$tagslib->{$tag}->{$subfield}->{lib}."</div>";
!                       
$subfield_data{tag_mandatory}=$tagslib->{$tag}->{mandatory};
!                       
$subfield_data{mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
!                       
$subfield_data{repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
!                       # if breeding is not empty
!                       if ($record ne -1) {
!                               my ($x,$value) = 
find_value($tag,$subfield,$record);
!                               $value=char_decode($value) unless ($is_a_modif);
!                               $indicator = $x if $x; #XXX
!                               if 
($tagslib->{$tag}->{$subfield}->{authorised_value}) {
!                                       $subfield_data{marc_value}= 
build_authorized_values_list($tag, $subfield, $value, $dbh, 
$authorised_values_sth);
!                               } elsif 
($tagslib->{$tag}->{$subfield}->{thesaurus_category}) {
!                                       $subfield_data{marc_value}="<input 
type=\"text\" name=\"field_value\"  size=47 maxlength=255> <a 
href=\"javascript:Dopop('../thesaurus_popup.pl?category=$tagslib->{$tag}->{$subfield}->{thesaurus_category}&index=$i',$i)\">...</a>";
 #"
!                               } elsif 
($tagslib->{$tag}->{$subfield}->{'value_builder'}) {
!                                       my 
$plugin="../value_builder/".$tagslib->{$tag}->{$subfield}->{'value_builder'};
!                                       require $plugin;
!                                       my $extended_param = 
plugin_parameters($dbh,$record,$tagslib,$i,$tabloop);
!                                       my ($function_name,$javascript) = 
plugin_javascript($dbh,$record,$tagslib,$i,$tabloop);
!                                       $subfield_data{marc_value}="<input 
type=\"text\" name=\"field_value\"  value=\"$value\" size=47 maxlength=255 
OnFocus=\"javascript:Focus$function_name($i)\" 
OnBlur=\"javascript:Blur$function_name($i)\"> <a 
href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
!                               } else {
!                                       $subfield_data{marc_value}="<input 
type=\"text\" name=\"field_value\" value=\"$value\" size=50 maxlength=255>";
!                               }
                # if breeding is empty
!                       } else {
!                               my ($x,$value);
!                               ($x,$value) = 
find_value($tag,$subfield,$record) if ($record ne -1);
!                               $value=char_decode($value) unless ($is_a_modif);
!                                       if 
($tagslib->{$tag}->{$subfield}->{authorised_value}) {
!                                               $subfield_data{marc_value}= 
build_authorized_values_list($tag, $subfield, $value, $dbh, 
$authorised_values_sth);
!                                       } elsif 
($tagslib->{$tag}->{$subfield}->{thesaurus_category}) {
!                                               
$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\"  size=47 
maxlength=255 DISABLE READONLY> <a 
href=\"javascript:Dopop('../thesaurus_popup.pl?category=$tagslib->{$tag}->{$subfield}->{thesaurus_category}&index=$i',$i)\">...</a>";
!                                       } elsif 
($tagslib->{$tag}->{$subfield}->{'value_builder'}) {
!                                               my 
$plugin="../value_builder/".$tagslib->{$tag}->{$subfield}->{'value_builder'};
!                                               require $plugin;
!                                               my $extended_param = 
plugin_parameters($dbh,$record,$tagslib,$i,$tabloop);
!                                               my ($function_name,$javascript) 
= plugin_javascript($dbh,$record,$tagslib,$i,$tabloop);
!                                               
$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\"  DISABLE 
READONLY size=47 maxlength=255 OnFocus=\"javascript:Focus$function_name($i)\" 
OnBlur=\"javascript:Blur$function_name($i)\"> <a 
href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
!                                       } else {
!                                               
$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\" size=50 
maxlength=255>";
!                                       }
!                               }
!                               push(@subfields_data, \%subfield_data);
!                               $i++;
!                       }
!                       if ($#subfields_data >= 0) {
!                               my %tag_data;
!                               $tag_data{tag} = $tag;
!                               $tag_data{tag_lib} = $tagslib->{$tag}->{lib};
!                               $tag_data{indicator} = $indicator;
!                               $tag_data{subfield_loop} = address@hidden;
!                               push (@loop_data, \%tag_data);
!                       }
                }
!               $template->param($tabloop."XX" =>address@hidden);
        }
  }
  
***************
*** 285,289 ****
  my $record=-1;
  $record = MARCgetbiblio($dbh,$bibid) if ($bibid);
- #warn "1= ".$record->as_formatted;
  $record = MARCfindbreeding($dbh,$breedingid) if ($breedingid);
  $is_a_modif=0;
--- 287,290 ----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]